1.首先固然是要有VS2008+Qt4.7的開發環境。mysql
2.安裝MySQL,最好是4之後的版本,安裝MySQL時要勾住「C Include Files 和 Lib Files」選項,這樣才能裝上MySQL的頭文件和連接庫。(或者選擇FULL安裝)sql
3.因爲MySQL先天的路徑問題(就是它的路徑裏面有空格),咱們須要把它的include和lib目錄複製出來,放在一個沒有空格的目錄下。數據庫
在C盤創建Mysql5.5文件夾,把include和lib放進去。服務器
4. 打開Qt Command Prompt 窗口,輸入命令:app
cd C:\Qt\4.7.4\src\plugins\sqldrivers\mysql\測試
5. 輸入命令:ui
qmake -o "INCLUDEPATH+=C:\Mysql5.5\include" "LIBS+=C:\Mysql5.5\libmysql.lib" mysql.pro編碼
這裏面的路徑就是第3步裏面建立的目錄debug
6.輸入命令: nmake release debugcode
到這裏,其實MySQL的驅動已經編譯完了,可是可能編譯出來的動態連接庫沒有自動拷貝到C:\Qt\4.7.4\plugins\sqldrivers 中去。不要緊,咱們手動拷貝以下:
【拷貝1】將編譯生成的mysql驅動
C:\Qt\4.7.4\src\plugins\sqldrivers\mysql\release和
C:\Qt\4.7.4\src\plugins\sqldrivers\mysql\release\debug 裏面把qsqlmysql4.dll、qsqlmysql4.lib、qsqlmysqld4.dll、qsqlmysqld4.lib拷到 c:\Qt\4.7.4\plugins\sqldrivers 裏面就好了。
【拷貝2】將libmysql.dll拷貝到C:\Qt\4.7.4\bin。
下面能夠進行Qt數據庫的測試例子了:
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
qt_mysql w;
QTextCodec::setCodecForTr(QTextCodec::codecForName("gbk")); //設置tr()編碼。
QSqlQueryModel *model;
QTableView *table=new QTableView;
QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
db.setHostName("10.3.2.84"); //數據庫服務器
db.setDatabaseName("petct"); //數據庫名
db.setUserName("admin"); //登陸名
db.setPassword("admin"); //密碼
if(db.open())
{
QSqlQuery query;
query.exec("update patient_basic_info set sex ='m 'where patient_id = 3");
query.exec("DELETE FROM patient_basic_info where patient_id = 3");
query.exec("SELECT patient_id , patient_name,ID_card_no,sex FROM patient_basic_info");//name爲屬性名;
query.next();
QString name = query.value(1).toString(); w.ui.patient_name_text->setText(name);
model=new QSqlQueryModel;
model->setQuery(query);
table->setModel(model);
}
else
{
// 數據庫打開失敗,顯示數據庫返回的失敗信息
QMessageBox::critical(0,QObject::tr("數據庫打開失敗"),db.lastError().text());
}
w.show();
QApplication::connect(&app, SIGNAL(lastWindowClose()), &app, SLOT(quit()));
return app.exec();
}
附件使用,
一、將libmysql.dll拷貝到C:\Qt\4.7.4\bin 這樣Qt驅動能夠調用mysql,打開數據庫
二、將qsqlmysql4.dll、qsqlmysql4.lib、qsqlmysqld4.dll、qsqlmysqld4.lib拷貝到C:\Qt\4.7.4\plugins\sqldrivers 這就是Qt mysql的驅動