qt怎么連mysql的簡(jiǎn)單介紹

QT怎么ssh連接mysql數(shù)據(jù)庫(kù)

在這里小編使用的是SQLyogEnt進(jìn)行遠(yuǎn)程連接配置了SSH的數(shù)據(jù)庫(kù)。通過(guò)桌面的SQLyogEnt運(yùn)行數(shù)據(jù)庫(kù)客戶端。

專(zhuān)注于為中小企業(yè)提供網(wǎng)站設(shè)計(jì)制作、成都網(wǎng)站制作服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)豐都免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動(dòng)了1000+企業(yè)的穩(wěn)健成長(zhǎng),幫助中小企業(yè)通過(guò)網(wǎng)站建設(shè)實(shí)現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。

在界面中點(diǎn)擊【新建】按鈕,在Mysql下填寫(xiě)Mysql數(shù)據(jù)庫(kù)的ip地址、用戶名、密碼、端口(默認(rèn)在3306)就好,數(shù)據(jù)庫(kù)名稱(chēng)。這里跟普通的連接數(shù)據(jù)庫(kù)的方法一致。

這個(gè)時(shí)候讀者可以點(diǎn)擊一下【測(cè)試連接】,這個(gè)時(shí)候點(diǎn)擊測(cè)試連接去連接數(shù)據(jù)庫(kù)是不會(huì)成功的,因?yàn)閿?shù)據(jù)庫(kù)配置了SSH訪問(wèn)。如下圖:

配置完成Mysql信息后,在旁邊選擇【SSH】

qt連接mysql問(wèn)題

首先:進(jìn)入到自己相應(yīng)的qt/src/plugins/sqldrivers/mysql 目錄下 (我的目錄為:S:\QT\4.8.0\src\plugins\sqldrivers\mysql),這個(gè)下面有兩個(gè)文件mysql.pro,一個(gè)mian.cpp! 用文本編輯器打開(kāi)該目錄下的mysql.pro文件 在mysql.pro中加入:

INCLUDEPATH+="C:\Program Files\MySQL\MySQL Server 5.5\include" LIBS+="C:\Program Files\MySQL\MySQL Server 5.5\lib\libmysql.lib"

保存并退出(即你的mysql的include 路徑和 lib 下 opt 的 libmysql.lib 路徑)

打開(kāi)Qt 4.8.0 Command Prompt, 編譯這個(gè)文件

#qmake -o Makefile mysql.pro

提示3條警告信息,但沒(méi)影響

#mingw32-make (這個(gè)網(wǎng)上有好幾個(gè)編譯命令,我的是用nmake);

然后你會(huì)發(fā)現(xiàn)你的 qt 下這個(gè) qt/plugins/sqldrivers路徑(我的路徑為S:\QT\4.8.0\plugins\sqldrivers下)下多了四個(gè)文件

分別為 libqsqlmysql4.a, libqsqlmysqld4.a, qsqlmysql4.dll,qsqlmysqld4.dll (生成文件不一定是上面四個(gè))這樣基本上就編譯成功,可以使用 mysql 了!~

最后安全起見(jiàn)再將 mysql下 bin 文件中l(wèi)ibmysql.dll文件拷貝到 system32 下面 然后測(cè)試:

#includeQtGui #includeQtSql #includecstdlib

#includeQtGui/QApplication #includeQtSql/QtSql boolcreateConnection() {

qDebug()"Availabledrivers:";

QStringListdrivers=QSqlDatabase::drivers(); foreach(QStringdriver,drivers) qDebug()"\t"driver;

QSqlDatabasedb=QSqlDatabase::addDatabase("QMYSQL"); qDebug()"MYSQLdrivervalid?"db.isValid(); }

intmain(intargc,char*argv[]) {

至于mysql.pro我是在網(wǎng)上下載的

Qt5.7下連接mysql數(shù)據(jù)庫(kù)

QSqlDatabase: QMYSQL driver not loaded

QSqlDatabase: available drivers: QSQLITE QMYSQL QMYSQL3 QODBC QODBC3 QPSQL QPSQL7

這里需要把libmysql.dll文件拷貝到Qt的bin目錄中?;蛘咦约壕幾g的時(shí)候,鏈接靜態(tài)庫(kù)。

參考:

參考:

「Qt」 mac環(huán)境配置qt的mysql驅(qū)動(dòng)

Qt項(xiàng)目里用到了mysql,運(yùn)行后報(bào)錯(cuò):

查閱資料知道需要配置mysql驅(qū)動(dòng),本以為幾分鐘解決的事情,沒(méi)想到開(kāi)啟了惡魔經(jīng)歷,整整兩天時(shí)間,mmp!

Stop! 廢話別說(shuō)啦,入正題:

首先,Qt mysql的安裝和環(huán)境配置就略了,一搜一大把。

不過(guò)注意兩點(diǎn):

先進(jìn)入到/Users/ing/Qt5.14.2/5.14.2/Src/qtbase/src/plugins/sqldrivers目錄下,執(zhí)行:

這里確保qmake用的qt里的就行

其實(shí)你可以配置下qt相關(guān)的環(huán)境變量,在bash_profile里添加:

然后,source ~/.bash_profile ,還有別忘了 source ~/.zshrc

執(zhí)行成功的話會(huì)輸出:

根據(jù)提示 依次執(zhí)行:

make sub-mysql

make

make install

進(jìn)入/Users/ing/Qt5.14.2/5.14.2/clang_64/plugins/sqldrivers下執(zhí)行,查看鏈接庫(kù):

輸出:

此時(shí),運(yùn)行qt程序 依舊報(bào)錯(cuò)。

根據(jù)查閱的資料,問(wèn)題出在

網(wǎng)友們所說(shuō)的“詭異”的路徑那一行(你的輸出可能和我的不一樣的,但問(wèn)題應(yīng)該一樣) ,也就是有 libmysqlclient.21.dylib 這行。

另外查了下 @repath 的含義 意思是說(shuō) 不能明確的指向。。。所以 這里就需要將libmysqlclient.21.dylib 指向扳到正確的道路。

方法就是利用 install_name_tool -change

執(zhí)行

這里一定要注意順序,剛開(kāi)始我就是順序搞錯(cuò)了,死活就是不行,最后跑到官方論壇里用蹩腳的英語(yǔ)發(fā)帖求教也無(wú)果,最后還是一遍的重試,一遍的檢查才發(fā)現(xiàn)的。一天就這么浪費(fèi)了。

此刻在運(yùn)行qt程序 ,就不會(huì)再報(bào)上面的錯(cuò)誤了。

撒花,禮花搞起~~~

qt怎么表格輸出mysql數(shù)據(jù)

1)創(chuàng)建ui界面 (2)導(dǎo)入頭文件 一、自動(dòng)提交模式 二、手動(dòng)提交模式 (1)構(gòu)造函數(shù)中的代碼 (2) “提交”按鈕的槽函數(shù) 在ui界面導(dǎo)入一個(gè)Table View。 這個(gè)控件可以顯示表格,在代碼中我們通過(guò)setHeaderData()函數(shù)可以自定義每列的名稱(chēng)。 需要用到以下頭文件,QSqlDatabase用于連接數(shù)據(jù)庫(kù),QMessageBox用于彈出對(duì)話框,QSqlError用于顯示數(shù)據(jù)庫(kù)的錯(cuò)誤信息,QSqlQuery和QSqlTableModel用于操作數(shù)據(jù)庫(kù)。 #include QWidget #include QSqlDatabase #include QMessageBox #include QSqlError #include QString #include QSqlQuery #include QSqlTableModel 在Qt窗口顯示的表格中改動(dòng)數(shù)據(jù),然后點(diǎn)擊回車(chē),數(shù)據(jù)庫(kù)中的表格中的數(shù)據(jù)就自動(dòng)更新了。 注意,在這里必須是敲擊回車(chē)才會(huì)進(jìn)行數(shù)據(jù)庫(kù)的更新,如果直接用鼠標(biāo)切換到其他的地方是不會(huì)更新數(shù)據(jù)庫(kù)的。 //連接數(shù)據(jù)庫(kù) QSqlDatabase db=QSqlDatabase::addDatabase("QMYSQL"); db.setHostName("127.0.0.1"); db.setUserName("root"); db.setPassword("123456"); db.setDatabaseName("aaa2"); if(db.open()==false){ QMessageBox::warning(this,"waring",db.lastError().text()); } //實(shí)例化model model = new QSqlTableModel(this); //將模型設(shè)置到視圖 ui-tableView-setModel(model); //給model設(shè)置數(shù)據(jù)表,前提條件是數(shù)據(jù)庫(kù)已經(jīng)打開(kāi)了 model-setTable("student");

標(biāo)題名稱(chēng):qt怎么連mysql的簡(jiǎn)單介紹
新聞來(lái)源:http://muchs.cn/article42/hgicec.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供全網(wǎng)營(yíng)銷(xiāo)推廣、搜索引擎優(yōu)化、品牌網(wǎng)站設(shè)計(jì)、App開(kāi)發(fā)、標(biāo)簽優(yōu)化、網(wǎng)頁(yè)設(shè)計(jì)公司

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

網(wǎng)站托管運(yùn)營(yíng)