美文网首页Qt学习
Qt5.11.2 mingw53 32位 使用MySQL5.7.

Qt5.11.2 mingw53 32位 使用MySQL5.7.

作者: 若梦儿 | 来源:发表于2018-12-05 20:58 被阅读51次

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

下载安装MySQL

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

默认视图

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

5.7.24

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

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

server
选择第一个下载。
5.7.24 server

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

dll和lib

测试MySQL

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

MySQL 5.7 CLC

输入密码登录后,输入:

show databases;

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


使用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`;

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


执行命令

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

2018-12-05_205000.png 2018-12-05_205027.png

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

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和数据库

运行结果

相关文章

网友评论

    本文标题:Qt5.11.2 mingw53 32位 使用MySQL5.7.

    本文链接:https://www.haomeiwen.com/subject/lsawcqtx.html