QT中如何驱动链接数据库MYSql
2013-04-11 16:35
399 查看
1.下载安装MYSql数据库,安装时候必须安装INCLUDE和LIB文件夹,并且把这两个文件夹放到C盘根目录C:\[b]mysql\下;[/b]
2.下载QT源码,并在QT源码目录D:\qt-everywhere-opensource-src-5.0.1\qtbase\src\plugins\sqldrivers\ mysql 下编译mysql.pro文件;
编译步骤: a:从libmysql.lib生成libmysql.a文件
>>C:
>>cd mysql\lib\opt
>>reimp -d libmysql.lib (生成 libmysql.def文件)
>>dlltool -k -d libmysql.def -l libmysql.a (生成 libmysql.a文件)
(把生成的.a文件复制到[b]D:\qt-everywhere-opensource-src-5.0.1\qtbase\src\plugins\sqldrivers\ mysql文件夹下)[/b]
b: 用记事本打开D:\qt-everywhere-opensource-src-5.0.1\qtbase\src\plugins\sqldrivers\ mysql\mysql.pro文件,在第二行加入:
INCLUDEPATH += "C:/mysql/include" LIBS += "C:/mysql/lib/opt/libmysql.lib"
并保存.
c:生成Qt下的mysql驱动:(在QT相应的命令行工具中运行如下命令)
>>cd \
>>cd qt\src\plugins\sqldrivers\mysql
>>QMAKE -o Makefile "INCLUDEPATH+=C:\mysql\include" "LIBS+=C:\mysql\Llib\opt\libmysql.a" mysql.pro
>>mingw32-make
3:在D:\qt-everywhere-opensource-src-5.0.1\qtbase\plugins\sqldrivers目录下生成驱动QT所需要的文件
qsqlmysql4.dll
libqsqlmysql4.a
qsqlmysqld4.dll
libqsqlmysqld4.a 最后把
qsqlmysqld4.dll
libqsqlmysqld4.a 这两个文件复制到QT工具的安装目录的D:\Qt\5.0.1\mingw47_32\plugins\sqldrivers下,写如下代码测试:
4:测试代码
QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
qDebug() << "ODBC driver valid?" << db.isValid();
db.setDatabaseName("mytest");
db.setHostName("localhost");
db.setUserName("root");
db.setPassword("19881014");
db.setPort(3306);
if(db.open())
{
QSqlQuery query;
//新建student表
query.exec("create table student (id int primary key, name text,course int)");
query.prepare("insert into student values (?, ?, ?)");
QVariantList id;
id << 1 << 2 << 3;
query.addBindValue(id);
QVariantList name1;
name1 << "Harald" << "Boris" << "Trond" << QVariant(QVariant::String);
query.addBindValue(name1);
QVariantList course;
course<< 1 << 1 << 2;
query.addBindValue(course);
if (!query.execBatch())
{
qDebug() << "error";
};
2.下载QT源码,并在QT源码目录D:\qt-everywhere-opensource-src-5.0.1\qtbase\src\plugins\sqldrivers\ mysql 下编译mysql.pro文件;
编译步骤: a:从libmysql.lib生成libmysql.a文件
>>C:
>>cd mysql\lib\opt
>>reimp -d libmysql.lib (生成 libmysql.def文件)
>>dlltool -k -d libmysql.def -l libmysql.a (生成 libmysql.a文件)
(把生成的.a文件复制到[b]D:\qt-everywhere-opensource-src-5.0.1\qtbase\src\plugins\sqldrivers\ mysql文件夹下)[/b]
b: 用记事本打开D:\qt-everywhere-opensource-src-5.0.1\qtbase\src\plugins\sqldrivers\ mysql\mysql.pro文件,在第二行加入:
INCLUDEPATH += "C:/mysql/include" LIBS += "C:/mysql/lib/opt/libmysql.lib"
并保存.
c:生成Qt下的mysql驱动:(在QT相应的命令行工具中运行如下命令)
>>cd \
>>cd qt\src\plugins\sqldrivers\mysql
>>QMAKE -o Makefile "INCLUDEPATH+=C:\mysql\include" "LIBS+=C:\mysql\Llib\opt\libmysql.a" mysql.pro
>>mingw32-make
3:在D:\qt-everywhere-opensource-src-5.0.1\qtbase\plugins\sqldrivers目录下生成驱动QT所需要的文件
qsqlmysql4.dll
libqsqlmysql4.a
qsqlmysqld4.dll
libqsqlmysqld4.a 最后把
qsqlmysqld4.dll
libqsqlmysqld4.a 这两个文件复制到QT工具的安装目录的D:\Qt\5.0.1\mingw47_32\plugins\sqldrivers下,写如下代码测试:
4:测试代码
QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
qDebug() << "ODBC driver valid?" << db.isValid();
db.setDatabaseName("mytest");
db.setHostName("localhost");
db.setUserName("root");
db.setPassword("19881014");
db.setPort(3306);
if(db.open())
{
QSqlQuery query;
//新建student表
query.exec("create table student (id int primary key, name text,course int)");
query.prepare("insert into student values (?, ?, ?)");
QVariantList id;
id << 1 << 2 << 3;
query.addBindValue(id);
QVariantList name1;
name1 << "Harald" << "Boris" << "Trond" << QVariant(QVariant::String);
query.addBindValue(name1);
QVariantList course;
course<< 1 << 1 << 2;
query.addBindValue(course);
if (!query.execBatch())
{
qDebug() << "error";
};
相关文章推荐
- QT数据库--添加MySQL驱动插件(ARM篇)
- Qt数据库之添加MySQL驱动插件
- QT数据库--添加MySQL驱动插件(Linux篇)
- 记录:编译Qt5.0连接MySql5.5数据库的驱动
- ubuntu16.04下MySQL驱动、使用eclipse链接数据库
- QT数据库--添加MySQL驱动插件(mingwin32)
- 如何在QT中编译数据库驱动
- windows ODBC驱动链接不上linux上的Mysql 数据库原因
- windows 下 解决 QT 与 mysql 数据库 驱动问题的本质
- QT链接数据库MySql
- 记录:编译Qt5.0连接MySql5.5数据库的驱动
- Qt学习之------如何探索带mysql的程序(但是并没有给我们数据库结构)
- Qt数据库之添加MySQL驱动插件
- Qt数据库:(二)添加MySQL驱动插件
- oracle、mysql、sql server等;流行数据库的链接驱动配置
- 解决没有安装Qt 的mysql sql驱动插件情况下不能连接数据库的问题
- Qt5链接Mysql的驱动命令
- lua数据库链接--mysql完整实现和luasql驱动API说明
- qt-mysql连接不上数据库缺少驱动问题解决
- oracle、mysql、sql server等;流行数据库的链接驱动配置