我有一个用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/

07-27 17:14