我有sqlite3_open_v2函数的问题.操作系统是Windows,在Qt Creator中开发.
sqlite3_open("database.db", &db); // works fine
但
sqlite3_open_v2("database.db", &db, SQLITE_OPEN_READWRITE, ""); // don't work
我很确定这不是utf-8编码问题,因为第一个函数工作正常,我试图改变项目属性中的编码.也许问题在于第一个arg中的filepath.绝对路径也不起作用.
有人有任何想法和使用此功能的例外吗?
这可能是因为工作目录中不存在该文件。我会在调用 sqlite3_open_v2 之前添加一些代码来打印当前工作目录的路径以确保确定。
sqlite3_open 和 sqlite3_open_v2 与 SQLITE_OPEN_READWRITE 之间的一个区别是,第一个在未找到文件时将创建一个空数据库,而第二个则不会。
为了允许使用 sqlite3_open_v2 创建数据库,您应该使用:
sqlite3_open_v2("database.db", &db, SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE, NULL );
Run Code Online (Sandbox Code Playgroud)
请务必查看文档以获取更多信息: http://www.sqlite.org/c3ref/open.html
归档时间: |
|
查看次数: |
9552 次 |
最近记录: |