QT學習筆記(16) QT5的數據庫操做

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 }
相關文章
相關標籤/搜索