bool isOpen = database.open();
QSqlQuery query(database);
qDebug("is the database open %d",isOpen);
bool result = query.exec("SELECT * FROM scales");
データベースは、別のメソッドで開始されるグローバル変数です。
database = QSqlDatabase::addDatabase("QSQLITE", "first");
database.setDatabaseName("database.db");
bool result = database.open();
どちらの場合もデータベースが開いています (true を返します) が、クエリを実行すると false が返されます。端末で同じ SQL を実行しましたが、動作するので、SQL に問題はありません。では、なぜクエリが実行されないのでしょうか?
lastError を出力した後、 QSqlError(1, "Unable to execute statement", "no such table: scales") を取得しました
コマンドラインでデータベースをチェックすると、データベースが存在し、スペルが正しいため、混乱します。私が考えることができる唯一のことは、それが別のデータベースファイルに接続していることですか?