QT数据库学习笔记

Posted on 2021-08-21 22:58  绿叶落秋风  阅读(142)  评论(0编辑  收藏  举报

简介

    QT通过模块化管理,对于某种模块需要添加对应的模块实现。QT SQL也是需要增加对应的模块来实现。QT数据库的层次关系为:

驱动层:数据库到SQL语言之间的桥梁

SQL API层: SQL语句的操作层

用户操作层:用户函数调用

操作流程

  1. 添加项目管理文件(pro)
  2. 查看数据库驱动的支持
  3. 连接和打开数据库
  4. 访问数据库
  5. 关闭数据库

图形工具

    为了确保数据库操作过程可视化,所以一个工具SQLite Expert来查看。同时,可以使用这个工具实现SQL语法的检查。这个可以确保指令不会出错。

    使用这个软件可以快速地完成数据库的查看以及一些手工操作,提高设计的反馈。

具体设计-人员表

    设计一个人员表,可以将数据库中的数据获取,也可以更新数据的操作。

UI界面设计

  1. UI实现控制功能包括:连接、更新、删除、查询。控制上直接使用按钮启动即可,设计好对应的槽函数。
  2. 参数输入的话,使用文本输入框就可以,可以使用自带的转化函数转化为对应的数据类型。
  3. 数据显示的话,需要使用一个自定义条目的界面。就是使用界面类完成数据的集成,然后使用QWidget完成界面的嵌入调用。基本思路是使用QListWidgetItem类将条目界面关联,然后使用QWidget设置条目就可以完成显示。数据操作转化为对应的界面的控件的操作。

数据库数据的生成

  1. 连接数据库(或者新建数据库)
  2. 打开数据库
  3. 通过SQL指令控制数据库
  4. 关闭数据库

数据库和控件关联

  1. 操作类关联:直接使用槽函数控制数据库,使用SQL语言。
  2. 参数类关联:对于主界面的参数直接读取,对于分界面,使用公共函数即可。

QsqlQueryModel的使用

数据读取

    以只读的方式读取的数据库的数据,可以直接和UI的控件对应起来。将数据库的读取为一个表,可以快读完成数据的读取。

  1. 读取数据库的表头信息,转化为一个对象QSqlQueryModel。
  2. 给UI控件QWidget以表格的形式关联
  3. 将数据库的表格显示到QTableView

数据写入

    数据写入就需要重写flags和setdata两个函数,通过将这两个函数判断哪些数据可以修改。修改显示的样式则是使用data函数即可。修改方式就是使用Query的SQL语句。前面学习数据操作时就接触过。

小结

    数据库可以高效管理数据,底层操作依靠SQL语句,可以使用Model进行操作简化,Qt的SQLite可以完成简易的数据库管理。