qt访问mysql数据库_Windows环境下利用Qt连接MYSQL数据库

在Windows下面利用QT开发数据库应用,如MYSQL,首先,我们必须利用源码编译MYSQL驱动库;

1)安装qt-sdk-win-opensource-2010.02.1.exe

此时,QT安装了QT Creator,假定目录为:

E:/Qt/2010.02.1/,可以选择安装MingW;

此时,E:/Qt/2010.02.1/QT为Qt库的安装位置;

2)安装MySQl,假定目录为:

include 路径为:D:/MySQL/MySQL Server 5.0/include

lib路径为:D:/MySQL/MySQL Server 5.0/lib/opt

由于两路径还有空格;拷贝至C:/mysql文件夹下;

3)将E:/Qt/2010.02.1/QT/bin 和MINGW/bin加入到PATH中;

4)cd E:/Qt/2010.02.1/qt/src/plugins/sqldrivers/mysql文件夹

运行:

E:/Qt/2010.02.1/qt/src/plugins/sqldrivers/mysql>qmake -o

Makefile   "INCLUDEPA

TH+=C:/mysql/INCLUDE"

"LIBS+=C:/mysql/lib/opt/libmysql.lib"   mysql.pro

nmake

在E:/Qt/2010.02.1/qt/plugins/sqldrivers下生成MYSQL的驱动;

编写数据库访问代码:

QSqlDatabase db=QSqlDatabase::addDatabase(

"QMYSQL"

);

db.setHostName("127.0.0.1"

);

db.setPort(3306);

db.setDatabaseName("test"

);

db.setUserName("root"

);

db.setPassword("**********"

);

if

(!db.open()){

QMessageBox::warning(this

,

"warning!"

,

"failure"

);

}else

{

QMessageBox::information(this

,

"OK!"

,

"success!"

);

}

QSqlDatabase

db=QSqlDatabase::addDatabase("QMYSQL");

db.setHostName("127.0.0.1");

db.setPort(3306);

db.setDatabaseName("test");

db.setUserName("root");

db.setPassword("**********");

if(!db.open()){

QMessageBox::warning(this,"warning!","failure");

}else{

QMessageBox::information(this,"OK!","success!");

}

访问成功;

下面是ODBC和OLEDB的连接字符串写法:

ODBC连接

合数据库类型 连接方式

access  "Driver={microsoft access

driver(*.mdb)};dbq=*.mdb;uid=admin;pwd=pass;"

dBase  "Driver={microsoft dbase

driver(*.dbf)};driverid=277;dbq=------------;"

oracle  "Driver={microsoft odbc

for oracle};server=oraclesever.world;uid=admin;pwd=pass;"

MSSQL

server  "Driver={sql

server};server=servername;database=dbname;uid=sa;pwd=pass;"

MS

text  "Driver={microsoft

text driver(*.txt; *.csv)};dbq=-----;extensions=asc,csv,tab,txt;Persist

SecurityInfo=false;"

Visual Foxpro  "Driver={microsoft Visual Foxpro

driver};sourcetype=DBC;sourceDB=*.dbc;Exclusive=No;"

MySQL  "Driver={mysql};database=yourdatabase;uid=username;pwd=yourpassword;option=16386;"

SQLite "Driver={SQLite3 ODBC

Driver};Database=D:/SQLite/*.db"

PostgreSQL "Driver={PostgreSQL

ANSI};server=127.0.0.1;uid=admin;pwd=pass;database=databaseName"

OLEDB

连接

适合的数据库类型 连接方式

access  "Provider=microsoft.jet.oledb.4.0;data

source=your_database_path;user id=admin;password=pass;"

oracle  "Provider=OraOLEDB.Oracle;data

source=dbname;user id=admin;password=pass;"

MS SQL

Server  "Provider=SQLOLEDB;data

source=machinename;initial catalog=dbname;userid=sa;password=pass;"

MS

text  "Provider=microsof.jet.oledb.4.0;data

source=your_path;Extended Properties'text;FMT=Delimited'"

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值