- 一、项目介绍
- 二、项目基本配置
- 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,以上便是本文的全部内容了,如果对你有所帮助,记得点个赞哟~