QT中如何驱动链接数据库MYSql
1.下载安装MYSql数据库,安装时候必须安装INCLUDE和LIB文件夹,并且把这两个文件夹放到C盘根目录C:\ mysql \下; 2.下载QT源码,并在QT源码目录D:\qt-everywhere-opensource-src-5.0.1\qtbase\src\plugins\sqldrivers\ mysql下编译mysql.pro文件; 编译步骤
1.下载安装MYSql数据库,安装时候必须安装INCLUDE和LIB文件夹,并且把这两个文件夹放到C盘根目录C:\mysql\下;
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文件复制到D:\qt-everywhere-opensource-src-5.0.1\qtbase\src\plugins\sqldrivers\ mysql文件夹下)
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() 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 query.addBindValue(id);
QVariantList name1;
name1 query.addBindValue(name1);
QVariantList course;
course query.addBindValue(course);
if (!query.execBatch())
{
qDebug() };