0

Qt 5.0 ライブラリ用に MYSQL ドライバーを設定することをあきらめました。現在利用できる唯一のドライバーである「QSQLITE」を使用します。

私はかなり長い間これを機能させようとしてきましたが、同様の投稿で言及されているすべてを試しました: Select from SQLite with Qt

QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");
db.setHostName(SQL_SERVER);
db.setPort(SQL_PORT);
db.setDatabaseName(SQL_DATABASE);
db.setUserName(SQL_USER);
db.setPassword(SQL_PASS);
bool dbSuccess = db.open();
QList<QString> deviceNames;
QString deviceName;
qDebug() << db;
if(dbSuccess){
    QSqlQuery query;
    qWarning("We made it into the DB");
    query.exec("SELECT device_name FROM tbl_device");
    while (query.next() ){
        qDebug() << query.value(1).toString();
       // deviceNames.append(deviceName);
        //qDebug() << "Test: "<< deviceName;
    }
}
else if(!db.open()){
    qWarning("Database failed to load!");
}

ここで、SQL_Server = 192.168.1.100

アプリケーションから次の qDebug 出力を取得します。

QSqlDatabase(driver=""QSQLITE"", database=""homelogic"", host=""hendrenserver"", port=3306, user=""homelogic"",      open=true) 
We made it into the DB

出力は、データベース接続が有効であることを示していますが、サーバー名を「xlkcjox」やその他のランダム キーなどの完全に間違ったものに変更すると、同じ出力が得られます。ここで何が欠けていますか?これは比較的簡単なはずだと思います。

お知らせ下さい!

4

2 に答える 2

2

qt 用の sqlite ドライバーを使用する場合、ホスト名に関係なく、データベース名はディスク上のファイルです。これがsqliteの仕組みです。ファイル名だけでホストは必要ありません。

于 2013-01-20T08:16:15.840 に答える
0

今日見つけた非常に役立つリンクを共有するために、この質問を再検討しています。Qt 4.8.4 と QODBC ドライバーを使用して解決策にたどり着きました。QSerialPort とプロジェクトのバグを使用する必要があるため、本日 5.0.1 に更新しました。ODBC プラグインの再構築に取り組んでいるときに、次のリンクを見つけました: http://seppemagiels.com/blog/create-mysql-driver-qt5-windows。20 分以内に、私が最初に欲しかった QMYSQL ドライバーが動作するようになりました。これが他の人に役立つことを願っています!

于 2013-02-28T03:52:01.817 に答える