QT平臺連接MySQL數據庫

最近在項目開發中有這樣一個需求:基於QT平臺的簡單的數據庫操作軟件。

之前開發用到的QT一直是5.1.1版本,但該版本對mysql支持不完善,簡單說來,就是mysql驅動要自己編一遍,網上這樣的文章很多,僅附上一個連接:http://blog.csdn.net/cgzhello1/article/details/8619276


從QT5.2.0版本以後,增加了對mysql數據庫操作的支持,因此選用QT 5.2.0 + mysql-community-5.6.26.0的開發環境。


從無到有這樣一個流程:

1. pro文件加:

QT += sql

2. 包含頭文件

#include <QtSql>

3. 打開數據庫

QSqlDatabase    dbconn;
QSqlQuery       query;
dbconn = QSqlDatabase::addDatabase("QMYSQL");
dbconn.setHostName(hostName);//主機名字
dbconn.setDatabaseName(dbName);//數據庫名字
dbconn.open(m_strUserName, m_strPassword);//用戶名、密碼,成功返回1
query = (QSqlQuery)dbconn;


4. 操作數據庫

增刪查改

query.exec("yourSQL");//sql語言

5. 軟件發佈

經過不斷嘗試和驗證,發佈需要完成以下幾步:

1. exe同級目錄增加文件夾和文件:plugins\sqldrivers\qsqlmysql.dll (路徑參考:Qt\Qt5.2.0\5.2.0\msvc2010_opengl\plugins\sqldrivers)

2. exe統計目錄增加文件:libmysql.dll

3. main.c中main函數改成這樣:

    QApplication a(argc, argv);
    MainWindow w;
    w.show();
    QString strLibPath(QDir::toNativeSeparators(QApplication::applicationDirPath())+QDir::separator() + "plugins");
    a.addLibraryPath(strLibPath);
    return a.exec();



否則會出現的現象是,在QT軟件裏運行沒問題,但發佈後運行無法連接數據庫。


其他部分和QT發佈一致


補充:

如果出現database not load的錯誤,需要拷貝libmysql.dll文件到Qt5.2.0\5.2.0\msvc2010_opengl\bin和Qt5.2.0\Tools\QtCreator\bin


另外,增刪查改已封成庫,需要的請隨時留言

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章