Qt5.7中使用MySQL Driver
1、使用環境
Qt5.7的安裝安裝就已經帶了MySQL Driver,只需要在安裝的時候選擇一下即可。
如果沒有安裝,可以采取自己編譯的方式。
在Qt的源碼包的qtbase\src\sql\drivers\mysql
路徑下,就是相關的源碼文件。
這里就不說編譯方式了。只是要記得在編譯的時候,需要libmysql
的支持。
2、基本使用
QSqlError err;
// 數據庫對象創建
QSqlDatabase db = QSqlDatabase::addDatabase("MYSQL","連接名");
// 設置相關參數
db.setDatabaseName("數據庫名"); // 需要與數據庫中的一致
db.setHostName("127.0.0.1"); // 主機名(地址)
db.setPort(3366); // 端口
// 打開數據庫
if (!db.open("用戶名", "密碼")) {
err = db.lastError();
db = QSqlDatabase();
QSqlDatabase::removeDatabase("連接名");
}
// Query對象創建
QSqlQuery q("", db);
// 創建一個表
q.exec("create table Names (id integer primary key, Firstname varchar, Lastname varchar, City varchar)");
// 插入三條數據
q.exec("insert into Names values (1, 'Christopher', 'Walker', 'Morristown')");
q.exec("insert into Names values (2, 'Donald', 'Duck', 'Andeby')");
q.exec("insert into Names values (3, 'Buck', 'Rogers', 'Paris')");
3、一個小問題
QSqlDatabase: QMYSQL driver not loaded
QSqlDatabase: available drivers: QSQLITE QMYSQL QMYSQL3 QODBC QODBC3 QPSQL QPSQL7
這里需要把libmysql.dll
文件拷貝到Qt
的bin
目錄中。或者自己編譯的時候,鏈接靜態庫。