我有一个WorkAboutPro 4,并在上面运行一个应用程序。此应用程序使用SQLlite数据库。
现在我还运行了一个计算机程序,在这里,我使用RAPI2与我的手持设备工作。当我连接我的设备,一个函数触发,它首先把我的数据库从我的手持设备到我的电脑。然后我用它做一些事情,然后再把它推回去。问题是返回的数据库总是0kb,没有数据,甚至没有表。
//Create my Paths
string myDevice = device.GetFolderPath(SpecialFolder.ProgramFiles);
string deviceFile = myDevice + @"\PPPM\SQL_PPPM.s3db";
string myComputer = Path.GetDirectoryName(Assembly.GetExecutingAssembly().GetName().CodeBase).Substring(6);
string localFile = myComputer + @"\SQL_PPPM.s3db";
//Get the Database
RemoteFile.CopyFileFromDevice(device, deviceFile, localFile, true);
//Do Stuff
try
....
catch(Exception ex)
....
//Push The Database back
RemoteFile.CopyFileToDevice(device, localFile, deviceFile, true);首先,我认为这是因为我无法在连接上推送数据库。所以我试着把一个完整的数据库放到我的电脑上。但这个效果很好。然后我继续往前放了一个空的Txt文件。拉出它,添加文本,并推它,这也是很好的工作。
因此,唯一出错的地方是,当我尝试将一个完整的数据库推回我的HandHeld时,导致一个0 0kb的空数据库。
有人知道这是为什么吗?
莲花~
编辑:如果你知道一个更好的方法来检测设备是否连接,并从PDA推拉文件,请让我知道。
发布于 2017-04-06 11:55:46
所以我也面临着同样的问题。这很可能与您的Sqlite连接仍然处于打开状态有关。
最适合我的方法是修改我的SqlDataAccess类并开始使用“The”。
示例:
using(var connection = new SQLiteConnection(ConnectionString))
{
try
{
connection.Open();
}
catch (Exception e)
{
throw new Exception(e.Message);
}
finally
{
connection.Close();
}
} 对我来说,这同样适用于DataAdapters。
祝你将来好运,记住永远不要把自己丢在Denvercoder9的箱子里。很久以前你就该回答这个问题。
https://stackoverflow.com/questions/38817883
复制相似问题