Qt編譯mysql驅動

來源:互聯網
上載者:User

標籤:qt4   mysql驅動編譯   

開發環境:Win7+Qt4.8.4+MySQL5.6.26+mingw32參考文檔如下:http://www.qtcn.org/bbs/read-htm-tid-52944.htmlhttp://blog.sina.com.cn/s/blog_a6fb6cc90101h1gr.html
 
1.去mysql的官網下載mysql的zip包(記住要下載的是32位的zip包,否則編譯的時候會出錯!!!和編譯器版本對應!!!)http://dev.mysql.com/downloads/mysql/

2.建立目錄d:\qtmysql將下載好的zip包中的include和lib目錄拷貝到d:\qtmysql


3.修改d:\%QTDIR%\src\plugins\sqldrivers\mysql\mysql.pro檔案在該檔案末尾加入如下兩行INCLUDEPATH+= "d:/qtmysql/include"
LIBS+= -Ld:/qtmysql/lib/ -llibmysql
4.使用QtCreater開啟該mysql.pro工程檔案編譯該工程檔案即可
5.編譯完成後在該工程的debug檔案夾中將看到相應的.dll檔案和.a檔案。


進入release目錄發現並沒有任何檔案,此時開啟qt命令列


並進入該工程目錄


執行make release即可在release目錄下產生相應的.dll檔案和.a檔案


6.將上一步產生的兩個.dll檔案和.a檔案拷貝到d:\%QTDIR%\plugins\sqldrivers目錄下


7.將d:\qtmysql\lib\libmysql.dll拷貝到d:\%QTDIR%\bin目錄下即可。
8.測試(記得在pro檔案中加上QT+=sql)
#include <QApplication>
#include <QtSql>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);

    qDebug()<<"available drivers:";
    QStringList drivers = QSqlDatabase::drivers();
    foreach(QString driver, drivers)
        qDebug()<<driver;

    QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
    db.setHostName("localhost");
    db.setPort(3306);
    db.setDatabaseName("hzq");
    db.setUserName("root");
    db.setPassword("123456");
    if(!db.open())
        qDebug()<<"failed to connect to mysql";
    else
        qDebug()<<"success";

    QString select_all_sql = "select * from teacher_class";

    //查詢所有資料
    QSqlQuery sql_query;
    sql_query.prepare(select_all_sql);
    if(!sql_query.exec())
    {
        qDebug()<<sql_query.lastError();
    }
    else
    {
        while(sql_query.next())
        {
            int id = sql_query.value(0).toInt();
            QString templ_name = sql_query.value(2).toString();
            qDebug()<<QString("Id:%1     Templ Name:%2").arg(id).arg(templ_name);
        }
    }

    return a.exec();
}
測試結果如下:

著作權聲明:本文為博主原創文章,未經博主允許不得轉載。

Qt編譯mysql驅動

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.