VS2017+QT5.12+MySQL8.0环境配置

在VS2017上运行写QT,并在VS上连接数据库

之前用的QT5.14,各种问题,网上找一大堆方法都试过了,最后mingw的数据库连接上了,msvc连接不上,折腾好久都不行,然后我就把QT5.14卸载了,重新安装了QT5.12,然后什么都没有动,驱动什么的自己都带了,以后用软件还是用老版本吧~~~~

以下是安装步骤

VS2017

这个的安装就不说了,默认都安装好了
VS去连接QT就好了
VS创建一个QT GUI Application
在这里插入图片描述
记得勾选这个选项,若忘记勾选的话
可以如下,点击QT VS Tools->QT Project Setting->QT Project Setting->QT Modules
再把sql勾上

然后用下面的代码进行测试,不出意外应该就好啦

QT5.12

贴一个QT下载地址 QT下载地址
如果是第一次安装的话,进去archive/qt
里面各种版本任你挑选
我选择的是QT5.12/QT5.12.0
然后里面有qt-opensource-windows-x86-5.12.0.exe

虽然看他写的x86,但是下载下来还是可以安装64位的,下它
然后下好打开首先是登陆什么的
然后来的下面的安装选择界面
我这里选择的是
QT5.12
MSVC2017 64bit 、 Sources(选这个的目的是有的版本没有sql驱动,比如之前我的5.14,没有驱动的可以参照别人的操作) 以及QT开头的一大堆 (目的是为了省的以后麻烦)
Tools
QT creator(没有选MinGW是因为我打算在VS上写,所以没有选)
然后安装完毕

如果没有VS或者windows的SDK,去官网下一个,windows 10 SDK下载

然后打开QT->工具->选项->Kits->调试器 应该会自动匹配上,然后可以在QT上面先测试一下
新建一个QT Widgets Application项目
首先在.pro文件中加语句
QT += sql

在MainWindow.cpp构造函数中添加如下代码进行测试

	QSqlDatabase db;
    db = QSqlDatabase::addDatabase("QMYSQL");  //连接的MYSQL的数据库驱动
    db.setHostName("localhost");         //主机名
    db.setPort(3306);                    //端口
    db.setDatabaseName("test");          //数据库名
    db.setUserName("root");              //用户名
    db.setPassword("root");            //密码
    db.open();

    //测试连接

    if(!db.open())
    {
        qDebug()<<"不能连接"<<"connect to mysql error"<<db.lastError().text();
    }
    else
    {
         qDebug()<<"连接成功"<<"connect to mysql OK";
    }

    db.close();

下面是头文件

#include <QSqlDatabase>
#include <QSqlQuery>
#include <QSqlError>
#include <QDebug>

如果显示头文件缺失,在MySQL安装目录的lib下,将libmysql.dll复制到QT目录的lib
例如我的就是
在这里插入图片描述
拷贝到
在这里插入图片描述
然后会提示成功或者失败,如果是显示驱动为加载,参考别人的博客进行手动编译 手动编译驱动

MySQL

首先到官网下载64位的MySQL8.0 MySQL下载
64位没有安装版本,下载第一个zip文件就好了
在这里插入图片描述
下载好解压出来就是MySQL的位置,接下来我们进行初始化
打开文件夹之后新建一个文件my.ini
记事本打开写如下内容

[mysqld]
# 设置3306端口
port=3306
# 设置mysql的安装目录,这里根据自己的解压目录来写
basedir=E:\MySQL\mysql-8.0.19-winx64
# 设置mysql数据库的数据的存放目录,解压后的文件里有个Data文件夹
datadir=E:\MySQL\mysql-8.0.19-winx64\data
# 允许最大连接数
max_connections=200
# 允许连接失败的次数。
max_connect_errors=10
# 服务端使用的字符集默认为UTF8
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# 默认使用“mysql_native_password”插件认证
#mysql_native_password
default_authentication_plugin=mysql_native_password
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[client]
# 设置mysql客户端连接服务端时默认使用的端口
port=3306
default-character-set=utf8

带#号的是注释,可以删掉,也可以保留

然后cmd用管理员方式打开
转到MySQL的bin文件夹

在这里插入图片描述
然后输入mysqld --initialize --console
等待成功后记住密码
输入mysqld --install安装mysql服务
输入net start mysql启动服务
接着输入命令mysql -u root -p
会让你输入密码登陆,密码在initialize之后root@localhost后面
然后我们改密码
输入命令
ALTER USER ‘root’@‘localhost’ IDENTIFIED WITH mysql_native_password BY ‘新密码’;

然后数据库就好啦,可以show databases;来看看查看数据库
在这里插入图片描述
自带没有test,那是我后面创建的,然后可以用代码去测试一下啦~~
MySQL初始化参考此文档

总结

反正很不容易终于弄好了,写下给别人看,也方便自己换电脑还会弄

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值