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ù)可以自定義每列的名稱。 需要用到以下頭文件,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)擊回車,數(shù)據(jù)庫(kù)中的表格中的數(shù)據(jù)就自動(dòng)更新了。 注意,在這里必須是敲擊回車才會(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");
我們擁有10年網(wǎng)頁(yè)設(shè)計(jì)和網(wǎng)站建設(shè)經(jīng)驗(yàn),從網(wǎng)站策劃到網(wǎng)站制作,我們的網(wǎng)頁(yè)設(shè)計(jì)師為您提供的解決方案。為企業(yè)提供成都網(wǎng)站設(shè)計(jì)、做網(wǎng)站、微信開(kāi)發(fā)、小程序設(shè)計(jì)、手機(jī)網(wǎng)站制作設(shè)計(jì)、H5場(chǎng)景定制、等業(yè)務(wù)。無(wú)論您有什么樣的網(wǎng)站設(shè)計(jì)或者設(shè)計(jì)方案要求,我們都將富于創(chuàng)造性的提供專業(yè)設(shè)計(jì)服務(wù)并滿足您的需求。
你的講法,要俺怎么答哦!訪問(wèn)mysql方式很多呀,你要那種呢,給出兩種吧!
1、命令方式訪問(wèn)
在安裝好mysql的機(jī)器上輸入
windows環(huán)境下 d:\msyql\bin\mysql -uroot -p
linux環(huán)境下 /usr/mysql/bin/mysql -uroot -p
這如果沒(méi)有密碼,mysql服務(wù)又是啟動(dòng)的,那么就進(jìn)去了
2、使用管理軟件
這里只介紹SQLyog Enterprise 8.12,自己在網(wǎng)上下一個(gè)吧。
安裝后,只要填寫(xiě)root就可訪問(wèn)你的mysql了
上面的兩種方法中如果需要密碼,請(qǐng)寫(xiě)密碼
首先:進(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)上下載的
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ò)誤了。
撒花,禮花搞起~~~
名稱欄目:關(guān)于qt怎么用mysql的信息
文章路徑:http://muchs.cn/article20/hggejo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供云服務(wù)器、網(wǎng)站維護(hù)、全網(wǎng)營(yíng)銷推廣、網(wǎng)頁(yè)設(shè)計(jì)公司、服務(wù)器托管、營(yíng)銷型網(wǎng)站建設(shè)
聲明:本網(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)