我将包含表和数据的预先存在的SQLite数据库包含在Win 8.1 Store App中。
在使用VS 2013进行开发期间,第一次将数据库复制到正确的LocalFolder时运行应用程序。但是,当使用Store - > Create App Packages通过sideloading部署应用程序到任何其他计算机时,只会在LocalFolder中创建一个没有数据或表的文件(0字节)。
以下是我的代码:
public MainPage()
{
this.InitializeComponent();
CopyDatabase();
InitializePage();
DataSetup();
}
private async Task CopyDatabase()
{
bool isDatabaseExisting = false;
try
{
StorageFile storageFile = await ApplicationData.Current.LocalFolder.GetFileAsync("ExpressEMR.db3");
isDatabaseExisting = true;
Debug.WriteLine("DB exists");
}
catch
{
isDatabaseExisting = false;
Debug.WriteLine("DB not exists");
}
if (!isDatabaseExisting)
{
StorageFile databaseFile = await Package.Current.InstalledLocation.GetFileAsync("ExpressEMR.db3");
await databaseFile.CopyAsync(ApplicationData.Current.LocalFolder);
Debug.WriteLine("DB copied");
}
}
我的代码遵循大多数使用预先存在的SQLite数据库的Web示例。任何帮助或指示表示赞赏。
如何使用新设备中包含的数据复制数据库?
TIA
答案 0 :(得分:1)
我相信您遇到的问题是您没有正确添加要复制到项目中的数据库。如果首先将数据库添加到项目中,然后将数据库的属性设置为:
,那么您的代码应该没问题完成此操作后,您需要重新部署项目,并且所有项目都应正确同步。