Qt5.7中使用MySQL Driver

Qt5.7中使用MySQL Driver

一、使用環境

Qt5.7的安裝安裝就已經帶了MySQL Driver,只須要在安裝的時候選擇一下便可。
若是沒有安裝,能夠採起本身編譯的方式。
在Qt的源碼包的qtbase\src\sql\drivers\mysql路徑下,就是相關的源碼文件。
這裏就不說編譯方式了。只是要記得在編譯的時候,須要libmysql的支持。mysql

二、基本使用

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')");

三、一個小問題

QSqlDatabase: QMYSQL driver not loaded
QSqlDatabase: available drivers: QSQLITE QMYSQL QMYSQL3 QODBC QODBC3 QPSQL QPSQL7

這裏須要把libmysql.dll文件拷貝到Qtbin目錄中。或者本身編譯的時候,連接靜態庫。c++

相關文章
相關標籤/搜索