开发环境:
以下版本全部为64位
软件版本:QtCeator5.12
数据库:MySQL8.0.15
编译器:MVCS2017
测试实现:
1、 在头文件中加入sql模块
2、加入头文件
3、init()函数测试代码如下:该代码来自:
https://www.cnblogs.com/xtu-wlf1212/p/8764015.html
QSqlDatabase db=QSqlDatabase::addDatabase("QMYSQL");
db.setHostName("127.0.0.1"); //连接数据库主机名,这里需要注意(若填的为”127.0.0.1“,出现不能连接,则改为localhost)
db.setPort(3306); //连接数据库端口号,与设置一致
db.setDatabaseName("mysql"); //连接数据库名,与设置一致
db.setUserName("root"); //数据库用户名,与设置一致
db.setPassword("root"); //数据库密码,与设置一致
db.open();
if(!db.open())
{
qDebug()<<"不能连接"<<"connect to mysql error"<<db.lastError().text();
return ;
}
else
{
qDebug()<<"连接成功"<<"connect to mysql OK";
}
QSqlQuery query(db);
query.exec("select * from student");
while(query.next()){
qDebug()<<query.value("name").toString();
}
报错:
Starting D:\QtCreator5.12.1\QHL\build-untitled1-Desktop_Qt_5_12_1_MSVC2017_64bit-Debug\debug\untitled1.exe...
QSqlDatabase: QMYSQL driver not loaded
QSqlDatabase: available drivers: QSQLITE QMYSQL QMYSQL3 QODBC QODBC3 QPSQL QPSQL7
???????? connect to mysql error "Driver not loaded Driver not loaded"
提示:数据库驱动未加载
注意:代码中的数据库信息要与下面MySQL中的信息一致,否则打不开数据库,该图片来自下面介绍的软件安装
以上报错的解决方法:
一、安装数据库
1、确保电脑已经安装了MySQL软件,如果没有安装请到官网下载安装:
https://dev.mysql.com/downloads/mysql/
方式一:(安装包方式安装,试过没成功,这里不推荐,选择下面的在线安装)
方式二:在线安装
安装过程要点如下
(参照博客:https://blog.csdn.net/chen1231985111/article/details/77994675)
注意:需要将connector中的 Connector选 ,里面有驱动
设置并记住密码,下面需要用到
接下来的步骤本文按默认选项安装完成,不懂的地方查看相关教程:https://jingyan.baidu.com/album/0bc808fc0df3641bd485b9b3.html?picindex=3
2、MySQL软件安装完成,默认是cmd 命令行操作,打来开始,找到下图,点击进入
输入密码:这里的密码为安装时设置的密码
至此,安装成功
3、为了方便操作,有必要安装MySQL的UI界面:Navicat,百度自己安装,很小的,安装好 后打开,新建连接
二、MySQL数据库全部安装完成,现在开始解决QtCeator中的问题
1、找到数据库的安装位置,如下有三个目录
2、 将MySQL Server8.0 下的libmysql.dll复制到QtCreator中MVCS2017_64的编译器中的bin目录下
3、将 libmysql.lib复制到QtCreator中MVCS2017_64中的lib目录下
4、将ConnectorC++8.0目录下的libeay32.dll和ssleay32.dll复制到mvcs2017_64目录中的bin文件下。