0
ここで間違っていることを理解できません。正しくは(まだm_db.open)ディレクトリへのパスを印刷するデータベースエラー」エラーで失敗している)QSqlDatabaseが開かない
QString filePath = QCoreApplication::applicationDirPath();
QString dbPath = QDir(filePath).absoluteFilePath("../../../Database");
m_db = QSqlDatabase::addDatabase("QSQLITE", "user_connection");
m_db.setDatabaseName(dbPath + "/Sensor_Objects.db");
qDebug() << filePath << " & " << dbPath;
if (!m_db.open())
qDebug() << "Database Error: " + m_db.lastError().text();
else
{
qDebug() << "Database: connection ok";
createDatabase("Sensor_Objects");
m_db.close();
}
qDebugを(::メモリのうち、私はQtの5.7.1を使用していますが、次のようにコードがありますエラーデータベースを開く "。
デバッガを使用してみてください、DBPATHです。 'sqlite3_open'、' sqlite3_open_v2'などにブレークポイントを設定します。正しい引数で呼び出されていることを確認してください。 Linuxでは、 'strace'と' ltrace'を使っても役に立ちます。ところで、バグはあなたが表示している行の外にあるかもしれません。 –
Qt 5.6を使用していたとき、同じコードが完全に機能していました。 5.7ドライバで問題になることはありますか? – user2522981
あなたのプログラムには[未定義の動作](https://en.wikipedia.org/wiki/Undefined_behavior) - おそらくどこか別のものがありますか?すべてのソースコードを表示するわけではありません。 –