SQLite を使用して Qt アプリケーションにこの小さなコード スニペットがあります。
db.setDatabaseName("./good.db");
if(!db.open())
{
QMessageBox m(QMessageBox::Critical,"Connection Error",db.lastError().text() );
m.exec();
exit(0);
}
問題は、good.db を bad.db のような存在しないファイルに置き換えても、エラーが発生しないことです。CREATE TABLE というプロセスの一部として実際にデータベースを作成できるので、これにはある程度の意味があると思います。
ファイルの存在を簡単にテストできますが、それは私には下品なアプローチに思えます。(Qt および libsqlite から) データベースの存在をテストする方法はありますか?