<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    all gone

    all gone

    Qt 4下連接MySQL數據庫

    前天剛裝了個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>?


    bool?createConnection(){?
    QSqlDatabase?db?
    =?QSqlDatabase::addDatabase("QMYSQL");?
    db.setHostName("localhost");?
    db.setDatabaseName("test");?
    db.setUserName("test");?
    db.setPassword("");?

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

    return?false
    ;?
    }?

    QSqlQuery?query
    ;?
    //query.exec("insert?into?book?values(?3,?'title',?'author')?");?
    query.exec("select?title?,?author?from?book?");?

    while?(query.next())?{?


    ????QString?title?
    =?query.value(0).toString();?
    ????QString?author?=?query.value(1).toString();?

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


    return?true
    ;?
    }?



    int?main(int?argc
    ,char**?argv){?

    QApplication?app(argc
    ,?argv);?
    ????if?(!createConnection()){?

    return?
    1;?
    }?
    ????????

    ????return?app.exec()
    ;?


    }?

    posted on 2006-08-28 20:57 all gone 閱讀(2735) 評論(0)  編輯  收藏 所屬分類: C & C++


    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 最近中文字幕大全免费视频 | 岛国精品一区免费视频在线观看 | 免费不卡视频一卡二卡| 亚洲视频在线观看一区| 免费精品久久天干天干| 图图资源网亚洲综合网站| a级片免费观看视频| 久久亚洲国产伦理| 1a级毛片免费观看| 亚洲AV综合色区无码二区偷拍| 我的小后妈韩剧在线看免费高清版| 亚洲最新黄色网址| AV免费网址在线观看| 亚洲国产精品精华液| 一本色道久久88亚洲综合| 国产免费人成视频在线播放播| 亚洲人成无码网站| 99精品视频免费在线观看| 亚洲欧洲另类春色校园小说| 免费黄色大片网站| 一级大黄美女免费播放| 亚洲人成电影亚洲人成9999网| 在免费jizzjizz在线播| 亚洲国产欧美国产综合一区| 日产国产精品亚洲系列| 青青草原1769久久免费播放 | 国产成人亚洲精品电影| 亚洲自偷自偷图片| 9420免费高清在线视频| 亚洲欧美日本韩国| 黑人精品videos亚洲人| 国产人成免费视频网站| 男人免费视频一区二区在线观看| 亚洲av无码成h人动漫无遮挡| 91免费资源网站入口| 午夜不卡AV免费| 久久亚洲日韩精品一区二区三区 | 成人激情免费视频| 91av免费在线视频| 亚洲国产精品日韩在线观看| 亚洲AV成人潮喷综合网|