QT連接Mysql數(shù)據(jù)庫(kù)的詳細(xì)教程(親測(cè)成功版)
目錄
- 前言
- 方法一、直接通過(guò)MySQL的驅(qū)動(dòng)加載數(shù)據(jù)庫(kù)
- 方法二、通過(guò)ODBC連接MySQL數(shù)據(jù)庫(kù)
- 1.下載地址
- 2.ODBC連接代碼
- 總結(jié)
前言
QT連接Mysql數(shù)據(jù)庫(kù)步驟相對(duì)比較麻煩,因此寫了篇文章將詳細(xì)過(guò)程呈現(xiàn)給大家。
方法一、直接通過(guò)MySQL的驅(qū)動(dòng)加載數(shù)據(jù)庫(kù)
示例代碼:
(1)在.pro文件中添加下列代碼:
QT +=sql
(2)在mainwindow.h文件中添加下列頭文件:
#include<QSqlDatabase>
(3)在main.cpp文件中添加下列代碼:
QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL"); db.setHostName("127.0.0.1"); //連接本地主機(jī) db.setPort(3306); db.setDatabaseName("數(shù)據(jù)庫(kù)名"); db.setUserName("用戶名"); db.setPassword("密碼"); bool ok = db.open(); if (ok){QMessageBox::information(this, "infor", "link success"); } else {QMessageBox::information(this, "infor", "link failed");qDebug()<<"error open database because"<<db.lastError().text(); }
運(yùn)行代碼,如果連接Mysql成功則輸出下面結(jié)果:
如果連接Mysql失敗則輸出:
如果連接Mysql失敗也不用太灰心,方法一在初次連接時(shí)很多情況下都會(huì)出錯(cuò)。下面我們來(lái)看看第二種成功率更高的連接方法。
方法二、通過(guò)ODBC連接MySQL數(shù)據(jù)庫(kù)
1.下載地址
(1)選擇適合自己QT版本的ODBC版本。
具體如何查看自己QT是多少位的,可以通過(guò)QT軟件上方的菜單欄 幫助->About QT Creator 查看位數(shù)
(2)點(diǎn)擊DownLoad后會(huì)進(jìn)入下面的界面
點(diǎn)擊No thanks,just start my download即可下載,不用點(diǎn)擊上面的登錄按鈕,否則會(huì)有繁瑣的登錄步驟。
(3)下載完ODBC后,雙擊安裝,一直點(diǎn)next即可完成安裝。
(4)安裝之后在電腦左下角的搜索欄中輸入ODBC即可查看安裝后的ODBC
(5)點(diǎn)擊添加按鈕添加用戶DSN.
(6)點(diǎn)擊MYSQL ODBC 8。0 ANSI Driver。
(7)這里的內(nèi)容按照下面提示對(duì)應(yīng)填好即可。
(8)完成Mysql的添加后,可以點(diǎn)擊Test按鈕測(cè)試一下能否連接。
2.ODBC連接代碼
代碼如下:
QSqlDatabase db = QSqlDatabase::addDatabase("QODBC"); db.setHostName("127.0.0.1"); db.setPort(3306); db.setDatabaseName("剛剛在ODBC中創(chuàng)建的Data source name"); //不是Database,記得別填錯(cuò) db.setUserName("用戶名"); db.setPassword("密碼"); bool ok = db.open(); if (ok){QMessageBox::information(this, "infor", "link success"); } else {QMessageBox::information(this, "infor", "link failed");qDebug()<<"error open database because"<<db.lastError().text(); }
恭喜你走到這一步,離成功連接Mysql只差最后一步!運(yùn)行代碼,一般都是可以完成連接的了。
總結(jié)
QT連接Mysql數(shù)據(jù)庫(kù)的步驟相對(duì)繁瑣,但是也是一個(gè)不錯(cuò)的學(xué)習(xí)經(jīng)歷。
到此這篇關(guān)于QT連接Mysql數(shù)據(jù)庫(kù)的文章就介紹到這了,更多相關(guān)QT連接Mysql數(shù)據(jù)庫(kù)內(nèi)容請(qǐng)搜索以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持!
