发布网友 发布时间:2022-04-27 04:28
共2个回答
懂视网 时间:2022-04-07 18:44
推荐:《mysql视频教程》
qt5.8连接mysql数据库
Qt Creator下连接mysql的解决办法。下面以qt5.8.0、mysql5.7.18为例。
准备工作
1.qt5.2版本以上,默认都有mysql的驱动,我们可以在(如:D:QtQt5.8.05.8mingw53_32pluginssqldrivers)下面找到mysql的驱动。如果没有驱动的话,那么就要自己编译生成了。
2.下载mysql(qt找不到mysql的库文件) 库的文件名为“libmysql.dll”,这个库文件应该放在Qt的bin文件夹下(例:D:QtQt5.8.05.8mingw53_32in) 这个文件一般在mysql的lib目录下。
测试代码
#include "mainwindow.h" #include <QApplication> #include <QtSql/QSqlDatabase> #include <QStringList> #include <QtSql/QSqlDatabase> #include <QtSql/QSqlQuery> #include <qDebug> int main(int argc, char *argv[]) { QApplication a(argc, argv); MainWindow w; w.show(); QStringList drivers = QSqlDatabase::drivers(); qDebug() << drivers; QSqlDatabase dbconn; QSqlQuery query; dbconn = QSqlDatabase::addDatabase("QMYSQL"); dbconn.setHostName("192.168.80.221");//主机名字 dbconn.setDatabaseName("iacrms");//数据库名字 dbconn.open("gdzt", "039.com");//用户名、密码,成功返回1 query = (QSqlQuery)dbconn; query.exec("select * from tb_UserQQInfo"); while(query.next()) { int id = query.value(0).toInt(); QString name = query.value(1).toString(); qDebug() << QString::number(id) + " : "+ name; } return a.exec(); }
注意事项
1.qt版本一定要和mysql的一样,要是位就都要是位,或者都是32位。
热心网友 时间:2022-04-07 15:52
注意编译器一定要和MYSQL的平台版本一致,32位的用32位的编译器编译,位的用位的编译器编译。
准备工作:MYSQL的目录:D:\SQL_Server\mariadb
Qt5.1.1的目录:C:\Qt
1. 先将D:\SQL_Server\mariadb中的include\和lib\文件夹复制到根目录(C:),因为后面make时路径不能有空格。
2. 打开QT5.1.1 for Desktop(MinGW 4.8)
cd C:\Qt\Qt5.1.1\5.1.1\Src\qtbase\src\plugins\sqldrivers\mysql
qmake "INCLUDEPATH+=D:\SQL_Server\mariadb\include" "LIBS+=D:\SQL_Server\mariadb\lib\libmysql.lib" mysql.pro
mingw32-make
如果出现找不到mysql.h文件就用qtcreator打开mysql.pro文件,配置项目,然后编译,就会出现错误提示,把#include 改成#include ,编译就行了,或回到命令行再次执行mingw32-make即可.
3. 编译成功后。
进入到C:\Qt\Qt5.1.1\5.1.1\Src\qtbase\plugins\sqldrivers目录下,选中qsqlmysql.dll和 qsqlmysqld.dll两个文件,
复制到C:\Qt\Qt5.1.1\5.1.1\mingw48_32\plugins\sqldrivers目录下。