1. 程式人生 > >Qt5.7中使用MySQL Driver(需要把libmysql.dll檔案拷貝到Qt的bin目錄中。或者自己編譯的時候,連結靜態庫)

Qt5.7中使用MySQL Driver(需要把libmysql.dll檔案拷貝到Qt的bin目錄中。或者自己編譯的時候,連結靜態庫)

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檔案拷貝到Qtbin目錄中。或者自己編譯的時候,連結靜態庫。