无法在使用C ++编写的UWP上使用SQLite打开数据库

时间:2018-05-18 20:31:34

标签: c++ visual-studio sqlite uwp

我正在制作一个我需要访问数据库的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和使用数据库方面都很新。

如果您需要任何其他信息,请随时提出。

2 个答案:

答案 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并将其复制到输出目录中。