0x00 ODBC介绍
ODBC(Open Database Connectivity,开放式数据库连接)是微软公司为应用程序访问关系型数据库时提供的一组标准接口规范。ODBC对不同的关系型数据库提供了统一的API,使用该API来访问任何提供了ODBC驱动程序的数据库。
0x01 mysql-connector-odbc的下载
我选用的是免安装版本,安装版本直接下一步安装即可。
0x02 mysql-connector-odbc-noinstall-5.3.14-win32的安装
提示:mysql-connector-odbc-noinstall-5.3.14-win32解压的路径不能存在中文,否则安装失败,必须是以管理员的身份进行安装,否则安装成功后,在ODBC数据源管理工具中无法看到MySQL的ODBC驱动。
0x03 查看MySQL的ODBC驱动是否安装成功
0x04 ODBC方式连接数据库
0x05 Qt利用ODBC驱动连接MySQL数据库
#include <QCoreApplication>
#include <QDebug>
#include <QSqlDatabase>
#include <QSqlQuery>
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
bool isQuery = false;
QSqlDatabase db = QSqlDatabase::addDatabase("QODBC");
db.setHostName("127.0.0.1");
db.setPort(3306);
//数据库名必须与添加到ODBC的用户数据源名字一致。
db.setDatabaseName("infoDB");
db.setUserName("root");
db.setPassword("0416");
if( db.open() ){
qDebug() << "MySQL数据库连接成功!";
}else {
qDebug() << "MySQL数据库连接失败!!!";
return -1;
}
QSqlQuery query;
isQuery = query.exec("show tables;");
if(isQuery){
qDebug() << "SQL语句执行成功!";
while(query.next()){
qDebug() << "info数据库的数据表:" << query.value(0).toString();
}
}else {
qDebug() << "SQL语句执行失败!!!";
}
return a.exec();
}