QT连接MySQL
2017-03-20 13:48
253 查看
环境说明:
- QT5.5.1;
- MySQL5.7.17-64bit;
连接步骤
- 安装QT(此处不赘述);
- 安装MySQL(直接使用从官网下载的mysql-installer-community.msi),安装到C盘根目录下,下面以此进行操作;
- 使用QT编译生成MySQL驱动dll;
- 加载驱动dll,使用QSqlDatabase/QSqlQuery等接口进行编程;
使用QtCreator编译MySQL驱动
- 将MySQLServer-ver/lib目录下的libmysql.dll以及Libmysql.lib文件拷贝到Qt的bin目录下(即qmake.exe所在的bin目录下,32位和64位作区分);
- 打开“Qt5.5.1\5.5\Src\qtbase\src\plugins\sqldrivers\mysql”目录,使用QtCreator打开mysql.pro文件;
- 增加如下两行配置代码:
- 上面要注意的是,MySQL的安装路径不允许有中文和空格;如果有中文和空格,有如下两种解决办法:
- 将MySQL的lib和include拷贝到一个独立的目录(未测试,网上有这种解决办法);
- 使用“$$quote”将路径包起来;
- 使用QtCreator构建mysql.pro;(注意区分32位和64位);
- 生成的qsqlmysql.dll的路径在C:/plugins/sqldrivers(估计是mysql.pro的缺省设置,没有深究);
- 然后就可以使用qsqlmysql.dll和qsqlmysql.lib进行QT连接MySQL的编程了;
- 要注意配置Qt的构建套餐(32/64),如下图:
使用qmake和nmake命令行编译MySQL驱动
- libmysql.dll拷贝到Qt的bin目录下;
- 使用Visual Studio自带的命令提示符控制台(配置了相关的环境变量,不能使用windows自带的cmd);
- 进入mysql.pro所在的目录;
- 执行如下命令:
生成的qsqlmysql.dll文件在Qt5.5.1\5.5\Src\qtbase\plugins\sqldrivers路径下;
使用Qt的接口API编程
- 拷贝生成的qsqlmysql.dll以及qsqlmysql.lib驱动文件到程序目录下,与exe所在路径同级,新建sqldrivers文件夹,放置dll以及lib文件;(这里重点强调一下路径:不是直接放到exe目录下,不是放到plugin/sqldrivers二级目录下,而是sqldrivers一级目录下);
- 拷贝libmysql.dll及libmysql.lib文件到exe同级目录下;
- 在QT项目的.pro中增加sql支持:
在main.cpp中写入如下测试代码,然后使用对应的构建套餐(32Bit/64Bit):<
4000
/li>
enjoy!
- QT5.5.1;
- MySQL5.7.17-64bit;
连接步骤
- 安装QT(此处不赘述);
- 安装MySQL(直接使用从官网下载的mysql-installer-community.msi),安装到C盘根目录下,下面以此进行操作;
- 使用QT编译生成MySQL驱动dll;
- 加载驱动dll,使用QSqlDatabase/QSqlQuery等接口进行编程;
使用QtCreator编译MySQL驱动
- 将MySQLServer-ver/lib目录下的libmysql.dll以及Libmysql.lib文件拷贝到Qt的bin目录下(即qmake.exe所在的bin目录下,32位和64位作区分);
- 打开“Qt5.5.1\5.5\Src\qtbase\src\plugins\sqldrivers\mysql”目录,使用QtCreator打开mysql.pro文件;
- 增加如下两行配置代码:
INCLUDEPATH += C:\MySQL\MySQLServer5.7\include LIBS += -LC:\MySQL\MySQLServer5.7\lib -llibmysql
- 上面要注意的是,MySQL的安装路径不允许有中文和空格;如果有中文和空格,有如下两种解决办法:
- 将MySQL的lib和include拷贝到一个独立的目录(未测试,网上有这种解决办法);
- 使用“$$quote”将路径包起来;
- 使用QtCreator构建mysql.pro;(注意区分32位和64位);
- 生成的qsqlmysql.dll的路径在C:/plugins/sqldrivers(估计是mysql.pro的缺省设置,没有深究);
- 然后就可以使用qsqlmysql.dll和qsqlmysql.lib进行QT连接MySQL的编程了;
- 要注意配置Qt的构建套餐(32/64),如下图:
使用qmake和nmake命令行编译MySQL驱动
- libmysql.dll拷贝到Qt的bin目录下;
- 使用Visual Studio自带的命令提示符控制台(配置了相关的环境变量,不能使用windows自带的cmd);
- 进入mysql.pro所在的目录;
- 执行如下命令:
qmake "INCLUDEPATH+=C:\MySQL\MySQLServer5.7\include" "LIBS+=C:\MySQL\MySQLServer5.7\lib\libmysql.lib" mysql.pro
nmake
生成的qsqlmysql.dll文件在Qt5.5.1\5.5\Src\qtbase\plugins\sqldrivers路径下;
使用Qt的接口API编程
- 拷贝生成的qsqlmysql.dll以及qsqlmysql.lib驱动文件到程序目录下,与exe所在路径同级,新建sqldrivers文件夹,放置dll以及lib文件;(这里重点强调一下路径:不是直接放到exe目录下,不是放到plugin/sqldrivers二级目录下,而是sqldrivers一级目录下);
- 拷贝libmysql.dll及libmysql.lib文件到exe同级目录下;
- 在QT项目的.pro中增加sql支持:
QT += sql
在main.cpp中写入如下测试代码,然后使用对应的构建套餐(32Bit/64Bit):<
4000
/li>
#include <QCoreApplication> #include <QtSql> #include <QDebug> int main(int argc, char *argv[]) { QCoreApplication a(argc, argv); QSqlDatabase oConn = QSqlDatabase::addDatabase("QMYSQL", "xxx"); oConn.setHostName("127.0.0.1"); oConn.setDatabaseName("xxx"); oConn.setUserName("root"); oConn.setPassword("123456"); oConn.setPort(3306); if (!oConn.open()) { qDebug() << "open failed!"; } else { QSqlQuery oQuery(oConn); oQuery.prepare("INSERT INTO test (name) VALUES (?)"); oQuery.addBindValue("TOM"); oQuery.exec(); oConn.commit(); } return a.exec(); }
enjoy!
相关文章推荐
- windows 下qt 连接mysql
- QT: 连接 mysql
- Qt连接access、Oracle、MySql、SqlServer数据库
- Qt连接access、Oracle、MySql、SqlServer数据库
- QT-MYSQL连接问题( Driver not loaded)
- 用Qt4 连接MySQL
- 记录:编译Qt5.0连接MySql5.5数据库的驱动
- QT 连接mysql部分
- Linux下Qt与mysql建立连接
- Qt与MySQL连接
- qt连接数据库(MySQL)
- 关于win7 配置 qt mysql连接!!
- QT连接Oracle和Mysql的详细步骤,已成功~!
- Qt连接MySQL出现QSqlDatabase: QMYSQL driver not loaded
- LINUX 下QT 连接MYSQL
- Qt 连接MySQL
- qt 连接mysql
- 一步步学Qt.第二天-续集-mysql连接成功
- QT连接MySQL记录
- ubuntu mysql与qt的连接