您当前的位置: 首页 >  sql

wendy_ya

暂无认证

  • 1浏览

    0关注

    342博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

Qt实战案例(28)——利用QSQL相关类实现对MySQL数据库的基本操作及相关设置详解

wendy_ya 发布时间:2022-01-22 09:59:15 ,浏览量:1

目录
    • 一、项目介绍
    • 二、项目基本配置
      • 2.1 安装MySQL
      • 2.2 创建Qt项目
      • 2.3 移动libmysql.dll文件
    • 三、UI界面设计
    • 四、主程序实现
      • 4.1 pro文件
      • 4.2 main.cpp
    • 五、效果演示

一、项目介绍

利用QSQL相关类实现对MySQL数据库的基本操作详解。

二、项目基本配置 2.1 安装MySQL

下载安装MySQL的详细步骤可以参考:MySQL数据库的安装与卸载保姆级教程

如果是已经下载完成,则需要启动: 使用管理员权限打开命令提示符,输入:

net start mysql

即可启动MySQL服务。

2.2 创建Qt项目

新建一个Qt案例,项目名称为“SQLTest”,基类选择“QWidget”,取消创建UI界面复选框的选中状态,完成项目创建。

2.3 移动libmysql.dll文件

如果不做任何操作时连接MySQL发现打印错误: 在这里插入图片描述

这是因为缺少驱动文件libmysql.dll,该文件位于: MySQL文件夹的lib目录下 我这里位于:E:\mysql-8.0.26-winx64\lib目录下 方法1: 将libmysql.dll复制到Qt文件夹的bin目录下: 我这里是D:\Qt\6.1.0\mingw81_64\bin

方法2: 将libmysql.dll复制到Qt项目的debug或者release下

三、UI界面设计

无UI界面

四、主程序实现 4.1 pro文件

在SQLTest.pro文件中添加如下代码:

QT+=sql
4.2 main.cpp

【注】:在创建MySQL之前首先创建一个student的表:

create database student;

源文件main.cpp中代码如下: 首先需要创建MySQL数据库,然后激活与数据库的物理连接:

QSqlDatabase  db =  QSqlDatabase::addDatabase("QMYSQL");

db.setHostName("localhost");      //如果填入localhost,则表示链接本地的数据库
db.setDatabaseName("student");       //要连接的数据库名
db.setUserName("root");
db.setPassword("123456");
db.setPort(3306);

创建数据库表:

if(db.open())
{
    QSqlQuery query;
    query.exec("DROP TABLE students");    //删除名为students的表
 
    query.exec("CREATE TABLE students("
               "id INT NOT NULL AUTO_INCREMENT,"
               "name VARCHAR(20) NOT NULL,"
               "sroce INT NOT NULL,"
               "class VARCHAR(20) NOT NULL,"
               "PRIMARY KEY (id) )ENGINE=InnoDB DEFAULT CHARSET=utf8;");
              //重新创建一个students表,标题分别为id、name、score、class
 
    query.exec("INSERT INTO students(name,sroce,class) VALUES ('小a', 85, '初2-1班')");
    query.exec("INSERT INTO students(name,sroce,class) VALUES ('小b', 15, '初2-2班')");
    query.exec("INSERT INTO students(name,sroce,class) VALUES ('小c', 35, '初2-3班')");  
}
五、效果演示

完整效果可以利用qDebug()输出显示,或者利用Navicat可视化工具查看。

如果没有看懂的话,完整代码可以参考:https://download.csdn.net/download/didi_ya/77286905

ok,以上便是本文的全部内容了,如果对你有所帮助,记得点个赞哟~

关注
打赏
1659256378
查看更多评论
立即登录/注册

微信扫码登录

0.0387s