真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

qt怎么運用mysql的簡單介紹

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

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

成都創(chuàng)新互聯(lián)公司專注于杜爾伯特網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗。 熱誠為您提供杜爾伯特營銷型網(wǎng)站建設(shè),杜爾伯特網(wǎng)站制作、杜爾伯特網(wǎng)頁設(shè)計、杜爾伯特網(wǎng)站官網(wǎng)定制、微信小程序服務(wù),打造杜爾伯特網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供杜爾伯特網(wǎng)站排名全網(wǎng)營銷落地服務(wù)。

查閱資料知道需要配置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 本主機(jī) 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

按照這三點順序:

1.#include QtSql/QMYSQLDriver去掉

然后重新運行程序

根據(jù)提示

2.如果找不到QMYSQL驅(qū)動,那么你需要先編譯這個驅(qū)動。先到Plugins/SqlDriver下看看有沒有qsqlmysql.*與qsqlmysqld.*的動態(tài)庫文件。

如果沒有,說明你沒有編譯mysql驅(qū)動插件。如果有但是連不上驅(qū)動,說明你的動態(tài)庫沒有放在程序的目錄下(實質(zhì)是沒有放在程序可搜索的目錄里),把這些動態(tài)庫放在程序目錄,不要少mysql的動態(tài)庫(這個不是QT編譯的那個QSQLMSQL的那個,是MYSQL自己的都太庫)。

3.編譯mysql驅(qū)動插件。

打開你的QT助手(Qt Assistant),查找這個“SQL Database Drivers”。里面有編譯的方法。

注意了這個編譯需要你提供MySql的頭文件和庫文件。你說的mysql.h即mysql的頭文件了。如果你沒有,去下載MYSQL的SDK。

qt連接mysql問題

首先:進(jìn)入到自己相應(yīng)的qt/src/plugins/sqldrivers/mysql 目錄下 (我的目錄為:S:\QT\4.8.0\src\plugins\sqldrivers\mysql),這個下面有兩個文件mysql.pro,一個mian.cpp! 用文本編輯器打開該目錄下的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 路徑)

打開Qt 4.8.0 Command Prompt, 編譯這個文件

#qmake -o Makefile mysql.pro

提示3條警告信息,但沒影響

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

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

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

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

#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怎么運用mysql的簡單介紹
網(wǎng)站網(wǎng)址:http://weahome.cn/article/ddseeji.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部