1、編譯驅動mysql
參考博客:http://blog.csdn.net/xian0gang/article/details/49791351sql
由於從QT5以來,它就自帶數據庫驅動了,因此咱們不須要費事的編譯也能夠使用數據庫。QT訪問MySQL須要兩個動態連接庫文件,一個是QT本身的mysql驅動插件,另外一個是MySQL提供的動態連接庫,缺一不可。數據庫
在程序裏指定要訪問的數據庫是MySQL,QT會自動的加載MySQL驅動插件,其實實現依賴於MySQL的動態連接庫訪問MySQL。服務器
(1)訪問MySQL提供的動態連接庫app
在這就不提怎麼安裝MySQL 了,在目錄 lib 裏能夠找到 MySQL 的動態連接庫 libmysql.dll 和 libmysqld.lib測試
找到這兩個文件,而後把它們複製到咱們QT安裝的目錄下,以下:ui
(2)測試數據庫鏈接this
在項目文件.pro中,加入sql模塊,而後在用到所需的類是必須包含頭文件。spa
QT_HelloWorld18.pro.net
1 #數據庫操做,須要加載sql模塊 2 QT += core gui sql 3 4 greaterThan(QT_MAJOR_VERSION, 4): QT += widgets 5 6 TARGET = QT_HelloWorld18 7 TEMPLATE = app 8 9 10 SOURCES += main.cpp\ 11 widget.cpp 12 13 HEADERS += widget.h 14 15 FORMS += widget.ui
widget.cpp
1 #include "widget.h" 2 #include "ui_widget.h" 3 #include <QDebug> 4 #include <QtSql/QSqlDatabase> 5 #include <QtSql/QSqlError> 6 #include <QMessageBox> 7 #include <QString> 8 9 Widget::Widget(QWidget *parent) : 10 QWidget(parent), 11 ui(new Ui::Widget) 12 { 13 ui->setupUi(this); 14 15 //打印QT支持的數據庫驅動 16 qDebug() << QSqlDatabase::drivers(); 17 18 //添加MySql數據庫 19 QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL"); 20 //鏈接數據庫 21 db.setHostName(QString::fromLocal8Bit("127.0.0.1"));//數據庫服務器IP 22 db.setUserName(QString::fromLocal8Bit("root"));//數據庫用戶名 23 db.setPassword(QString::fromLocal8Bit("ccs"));//密碼 24 db.setDatabaseName(QString::fromLocal8Bit("db_qt_test"));//使用哪一個數據庫 25 26 if(db.open() == true) 27 { 28 QMessageBox::information(this,QString::fromLocal8Bit("正確"), 29 QString::fromLocal8Bit("鏈接數據庫成功")); 30 return ; 31 } 32 else 33 { 34 QMessageBox::warning(this,QString::fromLocal8Bit("錯誤"), 35 db.lastError().text()); 36 return ; 37 } 38 } 39 40 Widget::~Widget() 41 { 42 delete ui; 43 }