SQLite测试数据库是否存在。(Qt)
我在使用SQLite的Qt应用程序中有以下代码片段:SQLite测试数据库是否存在。(Qt),qt,sqlite,Qt,Sqlite,我在使用SQLite的Qt应用程序中有以下代码片段: db.setDatabaseName("./good.db"); if(!db.open()) { QMessageBox m(QMessageBox::Critical,"Connection Error",db.lastError().text() ); m.exec(); exit(0); } 问题是,如果我用一个不存在的文件(如bad.db)替换good.db,那么就不会出
db.setDatabaseName("./good.db");
if(!db.open())
{
QMessageBox m(QMessageBox::Critical,"Connection Error",db.lastError().text() );
m.exec();
exit(0);
}
问题是,如果我用一个不存在的文件(如bad.db)替换good.db,那么就不会出现错误。我想这是有道理的,因为我实际上可以在创建表的过程中创建数据库
我可以简单地测试文件的存在性,但对我来说这似乎是一种粗俗的方法。是否有任何方法(从Qt和libsqlite)来测试数据库的存在性?使用
sqlite3\u open
不会访问数据库,如果数据库不存在,甚至可以通过后续的sqlite3\u
调用来创建数据库。sqlite3\u open\u v2
有一个选项SQLITE\u open\u READWRITE
,如果数据库不存在,则强制返回错误