我有一个用c编写的windows 10 uwp应用程序。我使用sqlite在本地存储数据。我遇到的问题是,从未使用此代码保存和/或检索文件。它应该工作,但我找不出是怎么回事。
dbexists的计算结果总是为false,那么我在这里缺少什么呢?
private SQLiteConnection localConn;
private string dbPath = Path.Combine(Windows.Storage.ApplicationData.Current.LocalFolder.Path, "myDatabase.db");
public async void DBInit()
{
bool dbExists = false;
try
{
var store = await ApplicationData.Current.LocalFolder.GetFileAsync(dbPath);
dbExists = true;
}
catch { dbExists = false; }
if (!dbExists)
{
using (localConn = new SQLiteConnection(new SQLitePlatformWinRT(), dbPath))
{
// Create table
localConn.CreateTable<MyTable>();
}
}
else // CURRENTLY NOT FIRING!!
{}
}
最佳答案
请考虑使用以下代码创建和访问数据库文件:
StorageFile notesFile = await storageFolder.CreateFileAsync(dbPath, CreationCollisionOption.OpenIfExists);
如果文件不存在,这将创建新文件,并在已创建时检索该文件。
请查看我的博客文章以了解有关uwp数据存储的更多信息:
https://mobileprogrammerblog.wordpress.com/2016/05/23/universal-windows-10-apps-data-storage/