linux下 qt5 連接Mysql

操做系統:opensuse13.1 32位 mysql

數據庫:MariaDB5.5.33 linux

QT:5.1.1 sql

qt安裝包:qt-linux-opensource-5.1.1-x86-offline.run 數據庫


由於是學習,因此安裝了所有組件,包括源碼和樣例。 學習

以普通用戶身份安裝的,因此安裝文件在本身的home目錄裏面。 測試

<1>準備階段 操作系統

 首先要安裝,MariaDB客戶端的開發庫mysql-devel。 code

 opensuse13.1 下面的安裝包是:libmysqlclient-devel和libmysqlclient18 開發

<2>安裝階段 源碼

(1)而後找到源碼包裏面的mysql.pro文件,,通常在  (軟件安裝的目錄)/Qt5/5.1.1/Src/qtbase/src/plugins/sqldrivers/mysql 下面。

這是個人具體安裝目錄,讀者可能和個人有差別,具體按照你的安裝目錄。


進入到此文件夾之後,若是不存在mysql.pro 就先用(你的qmake所在目錄)/qmake  -project 生成一個工程。而後執行執行命令

$>(你的qmake所在目錄)/qmake "INCLUDEPATH+=/usr/include/mysql" "LIBS+=-L/usr/lib/mysql -lmysqlclient_r" mysql.pro 
 生成一個Makefile文件。

下面是個人操做過程:

(2) 編譯,安裝

直接在Makefile所在的目錄下面 執行

$>make

$>make install

編譯生成的libqsqlmysql.so 文件會自動安裝到 Qt5/5.1.1/gcc/plugins/sqldrivers/下面。

<3>測試階段

新建一個qt工程dbtest

在dbtest.pro裏面添加 QT += sql (qt5 必定要加的)如標記部分。

而後在main.cpp裏面添加以下測試代碼。

#include "mainwindow.h"
#include <QApplication>
#include<QMessageBox>
#include<QDebug>
#include<QtSql/QSqlDatabase>
#include<QtSql/QSqlDriver>
#include<QtSql/QSqlError>
int main(int argc, char *argv[])
{
    QApplication a(argc, argv);

    qDebug()<<QSqlDatabase::drivers()<<endl; /*列出qt可用的數據庫*/

    /*
     *連接mysql數據庫
     */
    QSqlDatabase db( QSqlDatabase::addDatabase( "QMYSQL" ) );
    db.setHostName("localhost");
    db.setDatabaseName("test");
    db.setUserName("root");
    db.setPassword("*****");


    if(!db.open())/*測試數據庫是否連接成功*/
    {
       QMessageBox::critical(0, QObject::tr("Databse Error"), db.lastError().text());
       qDebug()<<db.lastError()<<endl;    
    }
    else
    {
       qDebug()<<"Ok"<<endl;
    }


}
編譯連接 OK!
相關文章
相關標籤/搜索