我在使用 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,那么我不会收到错误消息。我想这是有道理的,因为我实际上可以将数据库创建为过程的一部分,也就是 CREATE TABLE。
我可以简单地测试文件是否存在,但这对我来说似乎是一种粗俗的方法。有什么方法(来自 Qt 和 libsqlite )来测试数据库的存在吗?