我正在制作一个我需要访问数据库的UWP。为此,我首先从此链接下载并安装了SQL通用Windows平台:
https://sqlite.org/download.html
完成此操作后,我将其添加为参考,并将其包含在我的代码中:
#include <sqlite3.h> //Not sure if I need to make any other changes for this to work
要排除故障我只有一个按钮和一个文本框。这是单击按钮时运行的代码:
int rc;
sqlite3 *testDB;
if (SQLITE_OK == (rc = sqlite3_open("signers.db", &testDB))) {
Message->Text = "It worked!";
}
else {
Message->Text = "Can't open Database";
}
signers.db它是我使用SQLite创建的数据库,所以我可以从我的程序中读取一些数据。每次我运行程序时,文本都不能打开数据库&#34;出现。我已经尝试过我在网上看到的所有解决方案,但似乎没有一个对我有用,因此我认为我在监督某些事情。我在UWP和使用数据库方面都很新。
如果您需要任何其他信息,请随时提出。
答案 0 :(得分:1)
根据
https://docs.microsoft.com/en-us/windows/uwp/files/file-access-permissions
您对要打开的db文件所在的位置有一些限制。 sqlite本身应该工作。尝试在文章中指定的文件夹中打开数据库。
也可能只是一个损坏的db文件。你试图创建一个空的吗?
答案 1 :(得分:1)
如果您的包文件夹中有数据库,那么它是只读的。您需要使用sqlite3_open_v2
并传递SQLITE_OPEN_READONLY
标记。
如果要打开数据库进行读/写,则需要先将其复制到本地文件夹。
(还要确保您实际上已将数据库设置为部署;在“属性”窗口中,确保将其设置为Content
并将其复制到输出目录中。