自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Qt 連接 MySQL并編譯驅(qū)動

移動開發(fā)
本文介紹的是Qt 連接 MySQL并編譯驅(qū)動,安裝之后,還要加載驅(qū)動,加載驅(qū)動的方法,本文又詳細(xì)介紹,先來看內(nèi)容。

Qt 連接 MySQL并編譯驅(qū)動是本文呢要介紹的內(nèi)容,Qt開發(fā)環(huán)境并可正常使用(假設(shè)用的是VS2008+ QtVisualStudioIntegrationv1.43for.VS.2003.2005)一切操作均在windows下進(jìn)行。

1、安裝MySQL

下載MySQL安裝程序,安裝時(shí)選擇Custom方式,選擇安裝目錄,目錄***不要有空格,不要有中文,選擇安裝include和lib文件。其它的就沒什么了。Sqlyog是一個(gè)MySQL的圖形界面管理工具,可以安裝上,方便數(shù)據(jù)庫操作。

2、將安裝好的MySQL目錄下的include文件夾里的文件(頭文件)復(fù)制到編譯工具的include文件夾下,再將MySQL目錄下的lib\opt里的文件復(fù)制到編譯工具的lib文件夾下,簡而言之就是要讓編譯器能找到MySQL里相應(yīng)的文件。(該路徑也可在生成工程文件時(shí)添加給qmake)比如:

  1. ..\src\plugins\sqldrivers\mysql>qmake "INCLUDEPATH+=D:\MySQL\include" "LIBS+=D:\MySQL\lib\opt\libmysql.lib" 

3、打開VS2008 命令提示符,將目錄切換到Qt\src\plugins\sqldrivers\mysql\,運(yùn)行qmake

完了在運(yùn)行nmake。不出錯(cuò)的話MySQL驅(qū)動就編好了。用如下代碼進(jìn)行驅(qū)動測試:(這段程序編譯完之后不是運(yùn)行,是調(diào)試,不然測試信息出不來)

  1. #include <QSqlDatabase> 
  2. #include <QSqlQuery> 
  3. #include <QSqlError> 
  4. #include <QApplication> 
  5. #include <QSqlDatabase> 
  6. #include <QStringList> 
  7. #include <QMessageBox> 
  8. #include <QDebug> 
  9. int main(int argc, char* argv[])   
  10. {      
  11.          QApplication app(argc, argv);   
  12.          qDebug() << "Available drivers:";   
  13.          QStringList drivers = QSqlDatabase::drivers();   
  14.          foreach(QString driver, drivers)        
  15.                    qDebug() << "\t" << driver;   
  16.          QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");   
  17.          qDebug() << "MYSQL driver valid?" << db.isValid();  

測試結(jié)果如下圖:

Qt 連接 MySQL并編譯驅(qū)動

4、MySQL里創(chuàng)建庫,創(chuàng)建庫時(shí)數(shù)據(jù)庫字符集選擇gbk編碼,創(chuàng)建數(shù)據(jù)庫名為test,單表,表名為testTable,表內(nèi)屬性為name   varchar ;(方便理解代碼)

5、用如下代碼測試連接數(shù)據(jù)庫并測試寫入、讀出數(shù)據(jù)是否成功,并測試數(shù)據(jù)是否亂碼。

  1. #include <QtGui> 
  2. #include <QtSql> 
  3. #include <QTableView> 
  4. #include <QString> 
  5. #include <QObject> 
  6. int main(int argc, char **argv)  
  7. {  
  8.          QApplication app(argc, argv);  
  9.          QTextCodec::setCodecForTr(QTextCodec::codecForName("gbk")); //設(shè)置tr()編碼。  
  10.          QSqlQueryModel *model;  
  11.          QTableView *table=new QTableView;  
  12.          QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");  
  13.          db.setHostName("localhost");   //數(shù)據(jù)庫服務(wù)器  
  14.          db.setDatabaseName("test");   //數(shù)據(jù)庫名  
  15.          db.setUserName("root");      //登錄名  
  16.          db.setPassword("123456");    //密碼  
  17.          if(db.open())  
  18.          {  
  19.                    QMessageBox::information(0,QObject::tr("信息"),  
  20. QObject::tr("數(shù)據(jù)庫連接成功"));  
  21.                    QSqlQuery query;  
  22.                    query.exec(QObject::tr("INSERT INTO bbb VALUES ('柯南')"));  
  23. query.exec("SELECT name FROM testTable");//name為屬性名;  
  24. //testTable為表名  
  25.                    model=new QSqlQueryModel;  
  26.                    model->setQuery(query);  
  27.                    model->setHeaderData(0, Qt::Horizontal, QObject::tr("姓名"));  
  28.                    table->setModel(model);  
  29.                    table->show();  
  30.          }  
  31.          else   
  32.          {  
  33.  
  34.                    // 數(shù)據(jù)庫打開失敗,顯示數(shù)據(jù)庫返回的失敗信息  
  35.  
  36.                    QMessageBox::critical(0,QObject::tr("出錯(cuò)"),db.lastError().text());  
  37.          }  
  38.          QApplication::connect(&app, SIGNAL(lastWindowClose()), &app, SLOT(quit()));  
  39.          return app.exec();  

運(yùn)行結(jié)果如下圖:

Qt 連接 MySQL并編譯驅(qū)動 

小結(jié):關(guān)于Qt 連接 MySQL并編譯驅(qū)動的內(nèi)容介紹的完了,希望本文呢對你有所幫助!更多內(nèi)容請參考編輯推薦。

 

責(zé)任編輯:zhaolei 來源: 互聯(lián)網(wǎng)
相關(guān)推薦

2011-06-14 13:59:09

Qt Qt 4.7.3 MYsql

2011-07-05 13:32:45

QT Mysql 驅(qū)動

2011-07-05 14:29:44

Ubuntu QT Mysql

2011-07-05 14:16:50

QT Mysql 驅(qū)動

2011-07-05 14:23:07

QT MySQL 驅(qū)動

2011-06-21 16:40:58

Qt 靜態(tài)編譯

2010-06-01 14:51:45

MySQL驅(qū)動

2011-06-24 10:54:34

Qt Mysql

2011-07-02 14:03:12

Linux Qt

2011-07-05 13:44:17

2011-06-10 10:00:16

Qt 數(shù)據(jù)庫 MySQL

2011-06-21 16:51:21

Qt 靜態(tài) 編譯

2011-06-08 15:27:24

QT QT 4.5 編譯

2011-06-09 15:18:07

QT 編譯

2009-07-16 16:44:03

下載JDBC

2011-06-29 10:30:04

VC2005 QT QT 4.4.3

2011-04-11 13:26:25

Linux驅(qū)動

2011-06-10 10:31:57

QT mysql linux

2011-07-05 09:44:31

QT Mysql 亂碼

2011-07-05 10:03:00

Qt MYSQL 數(shù)據(jù)庫
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號