1: windows 下登陸mysql 命令行,(1)進入cmd (2) cd mysql 安裝路徑/mysqlserver5.6/bin
創(chuàng)新互聯(lián)建站主營塔河網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營網(wǎng)站建設(shè)方案,重慶App定制開發(fā),塔河h5小程序制作搭建,塔河網(wǎng)站營銷推廣歡迎塔河等地區(qū)企業(yè)咨詢
(3) 使用命令mysql -u root -p 然后根據(jù)提示輸入密碼 進入命令行
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進行操作,本函數(shù)
有第二個參數(shù) 連接名
db.setHostName("localhost");//或127.0.0.1 本主機
db.setPort(3306);
db.setDatabaseName("example"); //對數(shù)據(jù)庫example進行操作
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,運行后報錯:
查閱資料知道需要配置mysql驅(qū)動,本以為幾分鐘解決的事情,沒想到開啟了惡魔經(jīng)歷,整整兩天時間,mmp!
Stop! 廢話別說啦,入正題:
首先,Qt mysql的安裝和環(huá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
進入/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程序 ,就不會再報上面的錯誤了。
撒花,禮花搞起~~~
1: windows 下登陸mysql 命令行,(1)進入cmd (2) cd mysql 安裝路徑/mysqlserver5.6/bin (3) 使用命令mysql -u root -p 然后根據(jù)提示輸入密碼 進入命令行 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進行操作,本函數(shù) 有第二個參數(shù) 連接名 db.setHostName("localhost");//或127.0.0.1 本主機 db.setPort(3306); db.setDatabaseName("example"); //對數(shù)據(jù)庫example進行操作 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. }
網(wǎng)頁標題:包含qt怎么操作mysql的詞條
標題鏈接:http://jinyejixie.com/article12/dopsjdc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供移動網(wǎng)站建設(shè)、網(wǎng)站制作、網(wǎng)站導(dǎo)航、標簽優(yōu)化、App開發(fā)、企業(yè)建站
聲明:本網(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)