<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级片免费看| 蜜臀亚洲AV无码精品国产午夜.| 宅男666在线永久免费观看| 黑人粗长大战亚洲女2021国产精品成人免费视频 | 亚洲国产成人精品女人久久久 | 亚洲尹人香蕉网在线视颅| 久久精品私人影院免费看| 国产精品久久久亚洲| 国产在线观看免费视频软件| 亚洲AV无码成人专区片在线观看| 97无码人妻福利免费公开在线视频| 国产精一品亚洲二区在线播放| 两个人看www免费视频| 亚洲精品中文字幕乱码| 韩国免费一级成人毛片| 理论亚洲区美一区二区三区| 亚洲日韩在线观看免费视频| 中出五十路免费视频| 亚洲精品熟女国产| 丁香花在线观看免费观看| 美女黄频视频大全免费的| 国产亚洲精品资源在线26u| 182tv免费观看在线视频| 亚洲欧美日韩综合久久久| av在线亚洲欧洲日产一区二区| 曰批全过程免费视频在线观看无码 | 久久久久久国产精品免费免费| 亚洲av午夜国产精品无码中文字 | 国产成人久久AV免费| 久久精品亚洲AV久久久无码| 亚洲av手机在线观看| 久久久久久一品道精品免费看| 亚洲中文无码mv| 久久伊人亚洲AV无码网站| 美丽的姑娘免费观看在线播放|