简介
QT通过模块化管理,对于某种模块需要添加对应的模块实现。QT SQL也是需要增加对应的模块来实现。QT数据库的层次关系为:
驱动层:数据库到SQL语言之间的桥梁
SQL API层: SQL语句的操作层
用户操作层:用户函数调用
操作流程
- 添加项目管理文件(pro)
- 查看数据库驱动的支持
- 连接和打开数据库
- 访问数据库
- 关闭数据库
图形工具
为了确保数据库操作过程可视化,所以一个工具SQLite Expert来查看。同时,可以使用这个工具实现SQL语法的检查。这个可以确保指令不会出错。
使用这个软件可以快速地完成数据库的查看以及一些手工操作,提高设计的反馈。
具体设计-人员表
设计一个人员表,可以将数据库中的数据获取,也可以更新数据的操作。
UI界面设计
- UI实现控制功能包括:连接、更新、删除、查询。控制上直接使用按钮启动即可,设计好对应的槽函数。
- 参数输入的话,使用文本输入框就可以,可以使用自带的转化函数转化为对应的数据类型。
- 数据显示的话,需要使用一个自定义条目的界面。就是使用界面类完成数据的集成,然后使用QWidget完成界面的嵌入调用。基本思路是使用QListWidgetItem类将条目界面关联,然后使用QWidget设置条目就可以完成显示。数据操作转化为对应的界面的控件的操作。
数据库数据的生成
- 连接数据库(或者新建数据库)
- 打开数据库
- 通过SQL指令控制数据库
- 关闭数据库
数据库和控件关联
- 操作类关联:直接使用槽函数控制数据库,使用SQL语言。
- 参数类关联:对于主界面的参数直接读取,对于分界面,使用公共函数即可。
QsqlQueryModel的使用
数据读取
以只读的方式读取的数据库的数据,可以直接和UI的控件对应起来。将数据库的读取为一个表,可以快读完成数据的读取。
- 读取数据库的表头信息,转化为一个对象QSqlQueryModel。
- 给UI控件QWidget以表格的形式关联
- 将数据库的表格显示到QTableView
数据写入
数据写入就需要重写flags和setdata两个函数,通过将这两个函数判断哪些数据可以修改。修改显示的样式则是使用data函数即可。修改方式就是使用Query的SQL语句。前面学习数据操作时就接触过。
小结
数据库可以高效管理数据,底层操作依靠SQL语句,可以使用Model进行操作简化,Qt的SQLite可以完成简易的数据库管理。
======== ======\\ ======= -
|| || \\ // \\ /-\
|| || || // // \\
|| || // || // \\
====== ======= || === ========
|| || || \\ // \\
|| || \\ || // \\
|| || \\ // // \\
|| || ======= // \\
作者:绿叶落秋风,专注FPGA技术分析和分享,转载请注明原文链接:https://www.cnblogs.com/electricdream/p/15170163.html,文中资源链接如下:
1. GITHUB开源仓库