第一篇博客,整理一下自己用vs2017+QT5.9+Mysql5.6.40连接的问题
假设你已经装好了vs和qt以及mysql...
第一步在VS里面新建QT项目:
一般就选第一个 QT Application ,输入名称,确定之后会弹出QT设置对话框,因为本次需要连接mysql数据库,所以在第二步添加上 SQL 。一般不用数据库的话直接 finish 就行。
如果你创建的时候没有加 SQL,创建之后还可以在 解决方案资源管理器你的项目名称右键单击,在QT Project Settings 中设置添加 SQL
在接下来的对话框里选择QT Modules,然后给SQL打勾,点击OK
第二步创建连接:
//addDatabase()来创建一个连接,调用这个函数时,我们可以传递我们要访问哪种类型的数据库
QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL"); //驱动
db.setHostName("localhost"); //数据库地址,一般都是本地,就填localhost就可以
db.setDatabaseName("test"); //数据库名,根据你Mysql里面的数据库名称来填写,比如我Mysql里面有个数据库叫test,可以用Navicat软件看自己的数据库名字
db.setUserName("root"); //用户名,一般是本地用户,就填root就可以
db.setPassword("******"); //密码,填写你自己的Mysql登陆密码,为了保密我这里用*代替我的密码
//db.setPort(3306); //端口默认的是3306,可以不用写
if (db.open())
{
QMessageBox::warning(NULL, QStringLiteral("提示"), "open ok", QMessageBox::Yes);
}
else
{
QMessageBox::warning(NULL, QStringLiteral("提示"), "open failed", QMessageBox::Yes);
}
db.close();
注意:可能代码会出现波浪线,这时候考虑是否添加了对应的头文件
#include "QtMysql.h"
#include <QtSql>
#include <QtSql/QSqlDatabase>
#include <QtSql/QSqlTableModel>
#include <QtSql/QSqlError>
#include <QMessageBox>
最后成功会出现:
失败会出现: