qt怎么使mysql的簡單介紹

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

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

創(chuàng)新互聯(lián)建站自2013年起,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項目成都網(wǎng)站設(shè)計、網(wǎng)站建設(shè)網(wǎng)站策劃,項目實施與項目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元澤州做網(wǎng)站,已為上家服務(wù),為澤州各地企業(yè)和個人服務(wù),聯(lián)系電話:18982081108

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

Qt項目里用到了mysql,運行后報錯:

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

Stop! 廢話別說啦,入正題:

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

不過注意兩點:

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

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

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

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

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

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

make sub-mysql

make

make install

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

輸出:

此時,運行qt程序 依舊報錯。

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

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

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

方法就是利用 install_name_tool -change

執(zhí)行

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

此刻在運行qt程序 ,就不會再報上面的錯誤了。

撒花,禮花搞起~~~

qt中怎么連接mysql數(shù)據(jù)庫

1: windows 下登陸mysql 命令行,(1)進(jìn)入cmd (2) cd mysql 安裝路徑/mysqlserver5.6/bin (3) 使用命令mysql -u root -p 然后根據(jù)提示輸入密碼 進(jìn)入命令行 select user(); //顯示當(dāng)前用戶 2: 在同一臺電腦上利用Qt 訪問數(shù)據(jù)庫 (1)顯示當(dāng)前電腦上安裝的數(shù)據(jù)庫驅(qū)動 QStringList drivers = QSqlDatabase::drivers(); foreach(QString driver, drivers) qDebug() "/t" driver; (2)QSqlDatabase db=QSqlDatabase::addDatabase("QMYSQL");/對 QMYSQL進(jìn)行操作,本函數(shù) 有第二個參數(shù) 連接名 db.setHostName("localhost");//或127.0.0.1 本主機 db.setPort(3306); db.setDatabaseName("example"); //對數(shù)據(jù)庫example進(jìn)行操作 db.setUserName("wangxuetao"); //wangxuetao是一個對example數(shù)據(jù)庫有操作權(quán)限的賬戶 db.setPassword("3791948"); 于是mysql中增加一個賬戶可使用 Grant all previliges on *.* to ‘wangxuetao’@’localhost’ identified by ‘3791948’ with grant option; Flush privileges; //更新 (3)db.open() 函數(shù)可由于檢測數(shù)據(jù)庫是否連接成功 coutDBConnection(); 2. m_sqlquery = new QSqlQuery("",m_sqldb);//statement 1:connect db with sql query 3. if(result == R_OK) 4. { 5. result = m_sqlquery-exec("INSERT INTO children(fname,age) VALUES('A nn2',13)"); 6. if(!result) 7. qDebug()" [OK] ""EXEC successed"; 8. m_sqlquery-exec("SELECT * FROM children c LIMIT 0,1000"); 9. while(m_sqlquery-next()) 10. { 11. qDebug()value(0).toString()value(1). toString(); 12. } 13. }

分享名稱:qt怎么使mysql的簡單介紹
本文網(wǎng)址:http://bm7419.com/article4/ddejpoe.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供ChatGPT、網(wǎng)站策劃、網(wǎng)站設(shè)計、外貿(mào)建站、網(wǎng)站制作、面包屑導(dǎo)航

廣告

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

商城網(wǎng)站建設(shè)