Windows 8 应用程序中的 SQLite 数据清理
SQLite data cleanup in Windows 8 application
在我的 windows 8.1 应用程序中,我在 SQLite 之上使用 SQLitePCL。
我在应用程序启动时创建表并填充我的测试数据。
如果表不存在,我只创建数据库表,因为 SQL is exists keyword in the queries.
现在我该如何清理填充的测试数据。我是否必须在应用程序关闭时运行删除查询?
我正在通过 Windows 模拟器 8 进行测试。有没有办法清理应用程序数据以刷新模拟器中的数据库?
干杯,
索拉夫
我建议您每次需要刷新填充数据时重新创建数据库架构。您至少有两个选择可以实现:
首先: 和创建不存在的数据库表一样,当数据应该被刷新时,你可以删除数据库并重新创建它。我将此代码用于 open/create 数据库文件。
private async Task<bool> IsDBExistAsync()
{
bool isExist = true;
try
{
StorageFile sf = await ApplicationData.Current.LocalFolder.GetFileAsync(DATABASE_NAME);
}
catch (Exception)
{
isExist = false;
}
return isExist;
}
第二个:打开资源管理器window并导航至C:\Users\{username}\AppData\Local\Packages\{package_family_name}\LocalState
并在不再需要时手动删除数据库文件。 "package_family_name" 在您的应用程序(“打包”选项卡)的 Package.appxmanifest 中指定。
奖励项目:如果您正在开发 phone 部分 - 您可以使用 Windows Phone Power Tools 实用程序访问本地存储。
在我的 windows 8.1 应用程序中,我在 SQLite 之上使用 SQLitePCL。
我在应用程序启动时创建表并填充我的测试数据。
如果表不存在,我只创建数据库表,因为 SQL is exists keyword in the queries.
现在我该如何清理填充的测试数据。我是否必须在应用程序关闭时运行删除查询?
我正在通过 Windows 模拟器 8 进行测试。有没有办法清理应用程序数据以刷新模拟器中的数据库?
干杯, 索拉夫
我建议您每次需要刷新填充数据时重新创建数据库架构。您至少有两个选择可以实现:
首先: 和创建不存在的数据库表一样,当数据应该被刷新时,你可以删除数据库并重新创建它。我将此代码用于 open/create 数据库文件。
private async Task<bool> IsDBExistAsync()
{
bool isExist = true;
try
{
StorageFile sf = await ApplicationData.Current.LocalFolder.GetFileAsync(DATABASE_NAME);
}
catch (Exception)
{
isExist = false;
}
return isExist;
}
第二个:打开资源管理器window并导航至C:\Users\{username}\AppData\Local\Packages\{package_family_name}\LocalState
并在不再需要时手动删除数据库文件。 "package_family_name" 在您的应用程序(“打包”选项卡)的 Package.appxmanifest 中指定。
奖励项目:如果您正在开发 phone 部分 - 您可以使用 Windows Phone Power Tools 实用程序访问本地存储。