Qt实战案例(28)——利用QSQL相关类实现对MySQL数据库的基本操作及相关设置详解
目录
- 一、项目介绍
- 二、项目基本配置
- 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、classquery.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,以上便是本文的全部内容了,如果对你有所帮助,记得点个赞哟~
Qt实战案例(28)——利用QSQL相关类实现对MySQL数据库的基本操作及相关设置详解相关推荐
- Go web 开发数据库管理平台,利用远程过程调用(RPC)实现对MySQL数据库的管理和使用
Go web 开发数据库管理平台,利用远程过程调用(RPC)实现对MySQL数据库的管理和使用 前言 做DBA,最基本的工作就是需要管理公司的数据库系统.工作中,常常需要维护的数据库数量是非常多的.小 ...
- C# Excel.Range类实现对Excel单元格文本格式的设置
Excel.Range titleRange_A = newWorksheet.get_Range(newWorksheet.Cells[2, 2], newWorksheet.Cells[2, 2] ...
- java中属性文件读取案例_java相关:Spring中属性文件properties的读取与使用详解
java相关:Spring中属性文件properties的读取与使用详解 发布于 2020-6-3| 复制链接 摘记: Spring中属性文件properties的读取与使用详解实际项目中,通常将一些 ...
- VB.net:VB.net编程语言学习之基于VS软件利用VB.net语言实现对SolidWorks进行二次开发的简介、案例应用之详细攻略
VB.net:VB.net编程语言学习之基于VS软件利用VB.net语言实现对SolidWorks进行二次开发的简介.案例应用之详细攻略 目录 调用SolidWorks功能简介 1.宏录制步骤 (1) ...
- python类继承中构造方法_第8.3节 Python类的__init__方法深入剖析:构造方法与继承详解...
第8.3节Python类的__init__方法深入剖析:构造方法与继承详解 一. 引言 上两节介绍了构造方法的语法及参数,说明了构造方法是Python的类创建实例后首先执行的方法,并说明如果类没 ...
- java iris_利用K-Means聚类算法实现对iris.data.ulab
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 利用K-Means聚类算法实现对iris.data.ulabel数据的聚类,这是在网上找到如果要换成我的iris.date iris.date.ulabl ...
- 计算机bios设置论文,玩转电脑必看知识——各种BIOS设置详解 的更多相关文章
7.IDE Primary Master UDMA(第一个IDE主控制器下的UDMA模式) 8.IDE Primary Slave UDMA(第一个IDE从控制器下的UDMA模式) 9.IDE Sec ...
- java向mysql写入数据慢_通过java代码往mysql数据库中写入日期相关数据少13个小时...
通过show variables like '%time_zone%'; 查看时区: CST 时区 名为 CST 的时区是一个很混乱的时区,有四种含义: 美国中部时间 Central Standard ...
- CV之FDFA:利用MTCNN的脚本实现对LFW数据集进行FD人脸检测和FA人脸校准
CV之FD&FA:利用MTCNN的脚本实现对LFW数据集进行FD人脸检测和FA人脸校准 目录 运行结果 运行过程 运行(部分)代码 在裁剪好的LFW数据集进行验证 运行结果 运行过程 time ...
最新文章
- YII相关知识点记录
- armv9的RME简介
- 【SharePoint 2010】将Sharepoint Server 2010部署到WINDOWS 7
- Java如何实现后端分页
- Android Unable to execute dex: java.nio.BufferOverflowException
- Linux时间子系统之八:动态时钟框架(CONFIG_NO_HZ、tickless)
- 计算机学科a类排名,哈工大17个学科排名位列A类
- 搜pos不为了收单而收单,互联网是个神奇的动物
- 2013年,移动互联网行业技术趋势前瞻
- 营业执照注册号是不是统一社会信用代码?
- 如何把root登陆的shell改为csh?
- 我所知道的专业搜索引擎
- 微信小程序创建节点选择器获取宽高wx.createSelectorQuery
- 源码中的@hide注释和{@hide}注释的差异
- 静态路由Route不生效的解决方法
- GB28181国标2016版本协议文档(正式版)解读(三)
- Web3.0世界知识体系分享-Web3.0基本载体(NFT)
- TP5 未定义变量:XXX
- 原生微信小程序,scroll-view的使用,一屏两个滚动区域,scroll-y(纵向滚动)
- 朱则荣:图王与王通的软文营销境界