Qt5.11.2 mingw53 32位 使用MySQL5.7.24

4 篇文章 3 订阅

最近的C++大作业需要用到Qt和数据库,在此记录下使用数据库中遇到的问题和解决办法。使用的软件相关版本为Qt5.11.2 mingw5.3 32位、MySQL 5.7.24

下载安装MySQL

首先在MySQL官网下载MySQL5.7.24 installer
https://dev.mysql.com/downloads/installer/

5656674-b598c4396f203f2b.png

默认视图

 

这里默认是最新版,点击左侧的Looking for...即可获取5.7.x版本

5656674-5fea8119423e8fde.png

5.7.24

选择第二个下载,之后安装,安装的话按照默认选项即可,注意设置的密码要记牢。

接着下载MySQL server 5.7.24的32位zip包
https://dev.mysql.com/downloads/mysql/
跟之前一样,点击右侧,即可下载5.7.x版本

5656674-1ba446b827836778.png

server


选择第一个下载。

5656674-240a49f15226c3b3.png

5.7.24 server

 

下载后解压,将lib文件夹下的libmysql.dll和libmysql.lib复制到qt里,我这里的目录是C:\Qt\Qt5.11.2\5.11.2\mingw53_32\lib,你可以替换到相应的目录。

5656674-e7e58f1e3676a848.png

dll和lib

测试MySQL

之后打开MySQL 5.7 的命令行,测试一下安装效果

5656674-05bc8bdedddbb162.png

MySQL 5.7 CLC

 

输入密码登录后,输入:

show databases;

即可查看已经存在的数据库,初始安装的数据库跟我这里不太一样,因为我自己加了一些测试。

 

5656674-59a567ca3db36635.png

使用MySQL

ok能看到这些,基本说明数据库安装没有问题了(其实安装时,已经执行了检测了,这里只是自己试一下)。关于数据库的使用,这里推荐一份教程https://www.yiibai.com/mysql

在Qt中使用数据库

首先我们先导入一份数据,http://www.yiibai.com/downloads/yiibaidb.zip在这里下载。

解压出来的yiibaidb.sql放到一个文件夹里,比如D:目录下,接着打开MySQL命令行,执行以下操作导入这个数据库。这里的目录替换成你的响应目录

CREATE DATABASE IF NOT EXISTS yiibaidb DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
use yiibaidb;
source D:/yiibaidb.sql;
select city,phone,country from `offices`;

执行效果如下,说明导入成功且没有问题。

 

5656674-513307985ab542aa.png

执行命令

接着,打开Qt Creator,开始写代码,测试Qt使用数据库的情况。
新建一个Qt console 项目,项目命名随意,我这是testMySQL,构建套件选择mingw 32位

5656674-b6bfb478f8dd86bf.png

2018-12-05_205000.png

5656674-2216184da728b8cd.png

2018-12-05_205027.png

因为使用了数据库模块,所以需要在在.pro文件里添加上QT+=sql

5656674-8cace06f9ff5fa8e.png

QT+=sql

将main.cpp的内容修改如下:
注意这里需要将setPassword的参数修改为你自己的密码

#include <iostream>
#include <QtSql>
#include <QDebug>

int main(int argc, char *argv[]){
    QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");

    db.setHostName("localhost");
    db.setDatabaseName("yiibaidb");
    db.setUserName("root");
    db.setPassword("你自己的密码");
    if(!db.open()) {
        qDebug() << "error!\n";
    } else {
        qDebug() << "Open";
    }
    QSqlQuery query(db);
    query.exec("select * from offices;");

    while(query.next ()) {
        qDebug() << query.value ("phone").toString ();
    }
    return 0;
}

编译运行,得到如下结果即说明正确,可以愉快地使用Qt和数据库

5656674-c96869719d46a8c6.png

运行结果

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值