黄色网页视频 I 影音先锋日日狠狠久久 I 秋霞午夜毛片 I 秋霞一二三区 I 国产成人片无码视频 I 国产 精品 自在自线 I av免费观看网站 I 日本精品久久久久中文字幕5 I 91看视频 I 看全色黄大色黄女片18 I 精品不卡一区 I 亚洲最新精品 I 欧美 激情 在线 I 人妻少妇精品久久 I 国产99视频精品免费专区 I 欧美影院 I 欧美精品在欧美一区二区少妇 I av大片网站 I 国产精品黄色片 I 888久久 I 狠狠干最新 I 看看黄色一级片 I 黄色精品久久 I 三级av在线 I 69色综合 I 国产日韩欧美91 I 亚洲精品偷拍 I 激情小说亚洲图片 I 久久国产视频精品 I 国产综合精品一区二区三区 I 色婷婷国产 I 最新成人av在线 I 国产私拍精品 I 日韩成人影音 I 日日夜夜天天综合

Qt 4下連接MySQL數據庫

系統 3146 0
前天剛裝了個Qt4for windows,發現安裝的時候MySQL等數據庫插件都沒有安裝,像Qt X11版一樣,都需要自己安裝這些插件。
在Qt的安裝目錄C:\Qt4.1.2\下,有個src目錄,進入plugins\sqldrivers\mysql,可以看到兩個文件,main.cpp和mysql.pro,很顯然要用qmake來完成編譯、生成目標。
編 譯前,首先保證依賴的MySQL頭文件和庫文件正確。首先MySQL安裝目錄下的include中的所有文件拷到qmake時能找到的目錄下,接著從 lib/opt目錄下拷出libmysql.a,其實lib/opt下只有libmysql.lib和libmysql.dll,從網上搜了一下找到一個 方法從libmysql.dll生成libmysql.a:

1 、安裝好MySQL (如果不愿意安裝,找個libmySQL.dll文件也可以)

2、下載Pexports工具

3、轉換操作: pexports libmysql.dll > libmysql.def

4、使用MinGW的 dlltool轉換成為libmysql.a文件。dlltool --input-def libmysql.def --dllname libmysql.dll --output-lib libmysql.a -k

5、嘗試是否成功:
將生成的libmysql.a 拷到qmake的lib搜索路徑下后在plugins\sqldrivers\mysql目錄下做:
qmake -project
qmake
make

如果再出現象mysql_connect@xx (xx是數字)的錯誤提示。就執行第6步。

6、修改libmysql.def文件,給mysql_connect加上@xx,即mysql_connect@xx

7、重做第4步

8、然后嘗試第5步,如果還是出現錯誤提示。就作第6步。一直到沒有錯誤為止。

最后C:\Qt4.1.2\plugins\sqldrivers下將會生成需要的libqsqlmysql.a和qsqlmysql.dll。

找了一個測試文件,通過。
#include<QtSql>
#include<QtGui>


boolcreateConnection(){
QSqlDatabasedb
= QSqlDatabase::addDatabase( " QMYSQL " ) ;
db.setHostName( " localhost " ) ;
db.setDatabaseName( " test " ) ;
db.setUserName( " test " ) ;
db.setPassword( "" ) ;

if(!db.open()){
QMessageBox::critical(
0 , QObject::tr( " DatabaseError " ) ,
db.lastError().text())
;

returnfalse
;
}

QSqlQueryquery
;
//query.exec( " insertintobookvalues(3,'title','author') " ) ;
query.exec( " selecttitle,authorfrombook " ) ;

while(query.next()){


QStringtitle
= query.value( 0 ).toString() ;
QStringauthor = query.value( 1 ).toString() ;

QMessageBox::critical(
0 , title , author) ;

}


returntrue
;
}



intmain(intargc
, char**argv){

QApplicationapp(argc
, argv) ;
if(!createConnection()){

return
1 ;
}

returnapp.exec()
;

}

原文:http://www.blogjava.net/felicity/archive/2006/08/28/66280.html


國內最棒的Google Android技術社區(eoeandroid),歡迎訪問!

《銀河系列原創教程》 發布

《Java Web開發速學寶典》 出版,歡迎定購

Qt 4下連接MySQL數據庫


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論