1

localhost:3306 で実行されているローカル データベースがあり、MySQL Workbench でアクセスします。これは正常に機能し、alter を作成して、テーブルにしたいことを何でも行うことができます。「test」と「test2」という 2 つのスキーマがあります。

Qt経由で接続したい。ここに私のコードがあります:

QSqlDatabase m_db = QSqlDatabase::addDatabase("QPSQL"); 
m_db.setHostName("localhost");
m_db.setDatabaseName("test");
m_db.setPort(3306);
m_db.setUserName("root");
m_db.setPassword("MyAwesomePasswordThatIsUnHackableAndNotMyBirthdayAtAll...");
bool ok = m_db.open();

ここにある例に従いましたQSqlDataBase Class reference

m_db.open() は常に false を返します。addDataBase() または setDataBaseName に何を渡さなければならないのかよくわかりません。助けてくれてありがとう!

編集: addDatabase("QMYSQL") を使用すると、エラーは「ドライバーがロードされていません」です。Qt 4.8.1 を使用して Windows 7 を使用しています。

4

1 に答える 1

1

MySQL プリコンパイル済みプラグインはインストールされていません。自分でコンパイルする必要があります。または、QODBC プラグインがインストールされているか、(MySQL 開発ライブラリを必要とせずに) 簡単にコンパイルできるため、MySQL データベースへの ODBC ゲートウェイを使用することもできます。

于 2012-06-14T20:16:30.650 に答える