九、Qt C++ 数据库开发

这篇具有很好参考价值的文章主要介绍了九、Qt C++ 数据库开发。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

《一、QT的前世今生》

《二、QT下载、安装及问题解决(windows系统)》
《三、Qt Creator使用》 ​​​

《四、Qt 的第一个demo-CSDN博客》

《五、带登录窗体的demo》

《六、新建窗体时,几种窗体的区别》 

《七、Qt 信号和槽》 
《八、Qt C++ 毕业设计》

《九、Qt C++ 数据库开发》

《十、Qt 操作PDF文件-CSDN博客》

本章节我们介绍数据库相关的操作,并开发一个用户管理的功能,包括用户的增、删、改、查。通过本章节,大家可以学会如何使用sqlite数据库,及sqlite数据库操作函数的封装,还有动态调用窗体、新建窗体的布局等内容。

一、在pro文件中加入sql的引用。

九、Qt C++ 数据库开发,QT C++,qt,c++,数据库

二、在全局变量头文件中,加入对sqliteDb类的声明

九、Qt C++ 数据库开发,QT C++,qt,c++,数据库

这行代码 extern sqliteDb dbSqlite 的意思是在global.h中声明了一个名为 dbSqlite 的外部变量类。关键字 extern 表示这个声明是外部的,即它的定义(分配内存空间)将在其他源文件中。

这样的声明通常用于在多个源文件之间共享同一个全局变量。在包含这个声明的源文件中,你不需要为 dbSqlite 分配内存空间,只需要告诉编译器它的存在,并在其他源文件中提供其定义。

在main.cpp源文件中定义这个变量,并初始化打开连接了数据库:

sqliteDb dbSqlite; // 提供外部变量的定义

这样在另的窗体文件中不需要再声明及实例化sqliteDb类,dbSqlite 就可以在多个源文件中使用,而且这些源文件共享同一个 dbSqlite 实例。这在大型项目中,多个源文件需要访问同一个全局变量时很有用。可以保证本程序和数据库文件的连接唯一性,不会在每一个用到数据库的地方都打开一个连接,这样会造成资源混乱。

九、Qt C++ 数据库开发,QT C++,qt,c++,数据库

三、数据库操作类sqliteDb

用于与 SQLite 数据库进行交互。包含一些方法和属性,以便执行数据库查询、插入、更新和删除等操作。下图展示包含的基本结构:

九、Qt C++ 数据库开发,QT C++,qt,c++,数据库

九、Qt C++ 数据库开发,QT C++,qt,c++,数据库

通过将数据库打开、关闭、查询、插入、更新和删除等操作封装成类,主要优势包括:

1.模块化和结构清晰: 类的使用使得数据库操作的相关代码可以被组织成一个模块,使得代码结构更加清晰、模块化。这有助于降低代码的复杂性,使得代码更易读、易维护。

2.代码复用: 通过封装数据库操作到一个类中,可以轻松地在应用程序的不同部分重复使用相同的数据库操作逻辑。这样可以避免在代码中多次编写相同的数据库连接、查询和更新的代码,提高了代码的可重用性。

以下是对sqlite操作类核心代码的说明

九、Qt C++ 数据库开发,QT C++,qt,c++,数据库

将原生的query对象转换成便于操作的QList> 哈希集合:

九、Qt C++ 数据库开发,QT C++,qt,c++,数据库

四、登录窗体中数据库的使用

九、Qt C++ 数据库开发,QT C++,qt,c++,数据库

九、Qt C++ 数据库开发,QT C++,qt,c++,数据库

以下这种select 方式 不推荐,只会从一定程度上避免有sql注入漏洞,大家在正式的软件开发中需要引起注意。大家在程序中拼写sql语句时,一定要注意单引号和双引号的使用区别,有的同学稍不留神多写一个单引号,sql语句就不会被执行正确。

九、Qt C++ 数据库开发,QT C++,qt,c++,数据库

大家在写sql语句的时候,如果不太熟悉,可以建议下载一个sqlite数据库的编辑工具,如SQLite Expert

很好用的一个小工具,能更直观的编辑数据库文件。下载地址:https://download.csdn.net/download/zhouhui1982/88743983

九、Qt C++ 数据库开发,QT C++,qt,c++,数据库

五、用户管理窗体

别忘了在上边引用#include "global.h" 因为跟数据库有关的全局变量在此文件中。否则下边的dbSqlite变量会报错。

九、Qt C++ 数据库开发,QT C++,qt,c++,数据库

查询用户

九、Qt C++ 数据库开发,QT C++,qt,c++,数据库

删除用户

九、Qt C++ 数据库开发,QT C++,qt,c++,数据库

修改和新增用户在另一个窗体frmuseredit中

九、Qt C++ 数据库开发,QT C++,qt,c++,数据库

六、动态创建及调用窗体

九、Qt C++ 数据库开发,QT C++,qt,c++,数据库

七、运行效果

九、Qt C++ 数据库开发,QT C++,qt,c++,数据库

九、Qt C++ 数据库开发,QT C++,qt,c++,数据库

九、Qt C++ 数据库开发,QT C++,qt,c++,数据库

九、Qt C++ 数据库开发,QT C++,qt,c++,数据库

九、Qt C++ 数据库开发,QT C++,qt,c++,数据库文章来源地址https://www.toymoban.com/news/detail-799566.html

到了这里,关于九、Qt C++ 数据库开发的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 软件设计开发笔记4:QT操作SQLite数据库

      有时候我们需要在软件中记录一些历史数据以便于对数据的查询。而我们希望软件不能太复杂,体量也不要太大,这个时候就需要如SQLite这样轻量级的数据库。这篇中我们就来讨论如何在使用QT开发应用是操作SQLite数据库。   SQLite是一款开源、轻量级、跨平台的数据库

    2024年02月09日
    浏览(50)
  • C++毕业设计基于QT实现的超市收银管理系统源代码+数据库

    C++毕业设计基于QT实现的超市收银管理系统源代码+数据库 编译使用 编译完成后,需要拷贝 file目录下的数据库 POP.db文件到可执行程序目录下 登录界面 主界面 会员管理 完整代码下载地址:基于QT实现的超市收银管理系统源代码+数据库

    2024年02月09日
    浏览(50)
  • 跨平台C++ Qt数据库管理系统设计与实战:从理论到实践的全面解析

    在我们的日常生活中,数据无处不在。无论是我们的个人信息,还是我们的购物习惯,甚至是我们的工作记录,都可以被视为数据。这些数据的管理和处理,对于个人和企业来说,都是至关重要的。这就是数据库管理系统(Database Management System,简称DBMS)的重要性所在。 数据

    2024年02月06日
    浏览(43)
  • QT学习笔记-oracle oci数据库驱动交叉编译并移植到ARM开发板

    在上一文《QT学习笔记-QT安装oracle oci驱动》中介绍了在Windows环境下使用QT访问oracle数据库时遇到驱动无法加载问题的解决办法,大体思路是对QT源码中数据库驱动的源码oci进行编译,要想通过编译需要依赖对应数据库的头文件和库(可以通过下载oracle instant client),编译通过

    2024年02月13日
    浏览(44)
  • Qt+MySql开发笔记:Qt5.9.3的msvc2017x64版本编译MySql8.0.16版本驱动并Demo连接数据库测试

    若该文为原创文章,转载请注明原文出处 本文章博客地址:https://hpzwl.blog.csdn.net/article/details/130381428 红胖子网络科技博文大全:开发技术集合(包含Qt实用技术、树莓派、三维、OpenCV、OpenGL、ffmpeg、OSG、单片机、软硬结合等等)持续更新中…   mysql驱动版本msvc2015x32版本调

    2023年04月26日
    浏览(57)
  • QT基础篇(13)QT5数据库

    1.数据库基本概念 数据库(Database)是指存储、管理和组织数据的集合。它是一个组织化的、可持久化的数据集合,用于支持数据的存储、检索、更新和管理。 数据库系统(Database System)是建立在计算机上的数据管理系统,由数据库、数据库管理系统(DBMS)和应用程序组成。

    2024年01月22日
    浏览(35)
  • QT mysql 驱动-数据库安装以及qt连接ssl报错问题

    文章末尾是引用笔记 配置MySQL8.0 环境变量 如果不配置MySQL环境变量,就不能在命令行直接输入MySQL登录命令。下面说如何配置MySQL的环境变量: 步骤1:在桌面上右击【此电脑】图标,在弹出的快捷菜单中选择【属性】菜单命令。 步骤2:打开【系统】窗口,单击【高级系统设

    2024年01月20日
    浏览(43)
  • Qt 无法连接MySQL数据库

    Qt 5.15及之后版本缺少mysql驱动:qsqlmysql.dll、qsqlmysqld.dll 下载对应版本驱动:https://github.com/thecodemonkey86/qt_mysql_driver/releases?page=2 拷贝至Qt安装路径下,例如 Qt5.15.25.15.2msvc2019_64pluginssqldrivers 根据mysql版本下载对应mysql压缩包https://downloads.mysql.com/archives/community/ 找到libmysql.dll、

    2024年04月12日
    浏览(47)
  • QT+SQLite数据库配置和使用

    一、简介 1.1 SQLite(sql)是一款开源轻量级的数据库软件,不需要server,可以集成在其他软件中,非常适合嵌入式系统。Qt5以上版本可以直接使用SQLite(Qt自带驱动)。 二、下载和配置 2.1 SQLite下载官网下载链接 2.2 根据计算机的配置,选择所需项目是64位还是32位下载对应的压

    2024年02月06日
    浏览(39)
  • Qt 数据库的注册和登录功能

    widget.h widget.cpp  client.h client.cpp  main函数 窗口设计部分 最终效果图:

    2024年02月07日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包