解析QT與數(shù)據(jù)庫連接環(huán)境搭建
QT與數(shù)據(jù)庫連接環(huán)境搭建是本文要介紹的內(nèi)容,主要是來了解QT連接數(shù)據(jù)庫的環(huán)境搭建,具體內(nèi)容的實現(xiàn)來看本文詳解。要做數(shù)據(jù)庫實驗 要求是在圖形界面下對數(shù)據(jù)庫進(jìn)行操作,介于我對MFC那復(fù)雜的東西有些恐懼,所以選擇用QT這種看起來不復(fù)雜的東西來寫。
遇到的問題
1、qmake的各種erro
作為一個菜鳥 我只知道m(xù)ake 不知道什么是qmake 猜猜看應(yīng)該是QT的make 哈哈,http://www.kuqin.com/qtdocument/index.html 這個網(wǎng)址上面有個qmake的鏈接,詳細(xì)的講了qmake 很受益 因為之前安裝QT的時候很多環(huán)境變量都沒有設(shè)置對,所以qmake是不能用的 這個給我造成了很大的麻煩。。。后來發(fā)現(xiàn)環(huán)境變量要這么設(shè)置
- 用戶變量名: QMAKESPEC
- 值: C:Qt2010.05qtmkspecswin32-msvc2008(我的qt直接是安裝在c:上的)
這個設(shè)置的時候比較傻,之前一直提示說找不到,原來是因為我把C:后面的忘記寫了。。。還惆悵了一會。。。sigh
- 用戶變量名: QTDIR
- 值: C:Qt2010.05
還要記得把qt安裝的mingw的path在環(huán)境變量中設(shè)置好
2、關(guān)于qt的include 和 sql的include 還有l(wèi)ib的設(shè)置問題
當(dāng)把環(huán)境變量什么的搞定之后就用網(wǎng)上查到的辦法 就是什么什么"INCLUDE+=XXXXX" "LIBS+=XXXXX"這個主要就是個路徑問題,每個人安裝的MySQL和QT的版本都不一樣 include和 lib的路徑也不一樣需要花幾秒鐘找一下
3、設(shè)置好了Inlcude 和lib 之后到 qt的pluginssqldriversmysql下面 在cmd形式下qmake 然后 成功~高興一下~~但不能高興的太早
4、接下來的問題是在qt的main函數(shù)中寫個程序
下面是例子:
- #include <QSqlDatabase>
- #include <QSqlQuery>
- #include <QSqlError>
- #include <QApplication>
- #include <QSqlDatabase>
- #include <QStringList>
- #include <QMessageBox>
- #include <QDebug>
- int main(int argc, char* argv[])
- {
- QApplication app(argc, argv);
- qDebug() << "Available drivers:";
- QStringList drivers = QSqlDatabase::drivers();
- foreach(QString driver, drivers)
- qDebug() << "/t" << driver;
- QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
- qDebug() << "MYSQL driver valid?" << db.isValid();
- return 0;
- }
編譯的結(jié)果說 QSqlDatabase 沒有這個路徑或者文件 這個問題的解決辦法是來到當(dāng)前工程的文件夾下 找到這個文件對應(yīng)的.pro 文件 在***面加一條QT+=SQL就行了~后來還發(fā)現(xiàn)一個問題 在建立QT的工程的時候 如果首先選擇的是qdialog 那么依然毅然找不到qsqldatabase 但是我沒有去深究原因 就直接用了qmainwindow 的那個來建立工程了
小結(jié):解析QT與數(shù)據(jù)庫連接環(huán)境搭建的內(nèi)容介紹完了,希望通過本文的學(xué)習(xí)能對你有所幫助!