Crashing/error 在 UWP/C 中打开 SQLite 数据库#

Crashing/error on opening SQLite database in UWP/C#

我正在尝试向旧的 UWP 应用添加代码以访问 SQLite 数据库。在 VisualStudio 中调试时它工作正常,但当我打包它进行侧载时它会中断。

我已经缩小了它并尝试简化代码以查看是否有任何问题。下面是我用来测试发生了什么的一小段代码。代码在打开数据库时中断。同样,这在 Visual Studio 中调试时工作正常,而在侧载时中断。

string entry = "";
string dbpath = @"S:\TestDB.db");
using (SqliteConnection db = new SqliteConnection($"Filename={dbpath}"))
{
    db.Open();
    string textCommand = "SELECT Source from Materials WHERE Material = @keyValue";
    SqliteCommand selectCommand = new SqliteCommand(textCommand, db);
    selectCommand.Parameters.AddWithValue("@keyValue", "PMMA");
    SqliteDataReader query = selectCommand.ExecuteReader();
    while (query.Read()) { entry = query.GetString(0); }
    db.Close();
}
return entry;

有人有什么东西可以让我试试吗?

Crashing/error on opening SQLite database in UWP/C#,'Unable to open database file' Is there a way I can get more info out of it.

恐怕您无法直接访问 S 磁盘中的 db 文件。在 UWP 中,它只有权限访问带有路径的本地文件夹。所以我们建议您将您的数据库文件放入 LocalFolder like this document.

string dbpath = Path.Combine(ApplicationData.Current.LocalFolder.Path, "sqliteSample.db");
    using (SqliteConnection db =
      new SqliteConnection($"Filename={dbpath}"))

我在搜索我的问题的答案时发现其他人遇到了类似的问题。我给他们发消息,他们让我输入:

<rescap:Capability Name="developmentModeNetwork" /> 

在我的清单中。

似乎成功了。