一、遇到的现象
这里确认自己已经安装过mysql,并且通过navicate等数据库工具客户端连通测试过mysql数据库没问题,因为现在要用qt连接mysql,如果出现问题,mysql的问题我们就可以首先排除掉。
mysql不管是64位还是32位,都没有影响,因为我的操作这些问题都不是问题,qt不管是32还是64,也一样不会有问题。
首先,我们下载了qt之后,安装好后,通过如下代码来连接mysql:
项目pro文件中加上:
使用sql,代码中记得加上:
#include <QString>
#include <QtDebug>
#include <QSqlDatabase>
#include <QSqlQuery>
代码:
// 连接mysql,如果mysql已经存在了相应数据库的名字,则可以setDatabaseName再open打开连接数据库
// 如果没有,想要系统去创建数据库,则setDatabaseName不要设置,open打开时这样连接不上,因为没有相应数据库
// 而是先连接上mysql,通过命令创建数据库,再通过命令使用相应数据库,切换到该数据库上面
QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
db.setHostName("localhost"); // 输入连接的数据库IP
db.setPort(3306); // 输入连接的数据库端口
db.setUserName("root"); //输入连接的用户名
db.setPassword("root"); //输入连接的密码
if(db.open())
{
QString databaseName = "infosystem";
db.setDatabaseName(databaseName); // 数据库名称
qDebug()<<"打开数据库成功";
QSqlQuery query;
if(query.exec("create database "+databaseName + " DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci")) {
qDebug()<<"创建数据库"+databaseName+"