大家好,今天主要和大家分享一下,如何使用QT中数据库的使用方法。
目录
第一:数据库基本简介
第二:数据库表格基本操作
第三:数据库最终效果
第一:数据库基本简介
数据库是按照数据结构来组织,存储和管理数据的仓库。是一个长期存储在计算机内的,有组织的,可共享的,统一管理的大量数据的集合。
在项目中使用QT SQL模块,需要在项目配置文件里添加如下语句。
QT += core gui sql
Qt 支持很多种常见的数据库,如 MySQL、Oracle、MS SQL Server、SQLite 等。Qt SQL 模块里包含了很多个类,可以轻松实现数据库的连接、执行 SQL 语句,获取数据库里的数据与界面显示等功能。
Qt 提供了 QSqlDatabase 类用于建立数据库的连接,往往以指定加载的数据库驱动,然后设置数据库的登录参数,如主机地址,用户名、登录密码等。这些都是服务器类型的数据库所需要做的操作。
第二:数据库表格基本操作
使用数据库修改/查询员工的编号、姓名、年龄、性别与照片信息。将数据库的内容显示到 QTableView 上。如果只是简单的显示数据库的内容到QTableView 上,可以使用下面的方法,此方法 QTableView 上可以看到员工的编号、姓名、年龄、性别信息,同时可以双击表格进行项修改,修改完成将自动保存到数据库里。
1 /* 初始化表格模型 */
2 QSqlTableModel *model = new QSqlTableModel(this, sqlDatabase);
3
4 /* 设置要选中的表格名称 */
5 model->setTable("employee");
6 /* 如果有修改则同步修改到数据库,
7 * 注意这个规则需要与 tabview 这样的控件才生效,
8 * 因为 tabview 可以直接编辑表里的内容 */
9 model->setEditStrategy(QSqlTableModel::OnFieldChange);
10 /* 成功则返回 true,查看数据库里是否有 employee 这个表格 */
11 model->select();
12 /* 设置表格的头信息,若不设置则显示数据库里的英文字段头信息 */
13 model->setHeaderData(model->fieldIndex("id"),
14 Qt::Horizontal, tr("编号"));
15 model->setHeaderData(model->fieldIndex("name"),
16 Qt::Horizontal, tr("姓名"));
17 model->setHeaderData(model->fieldIndex("age"),
18 Qt::Horizontal, tr("年龄"));
19 model->setHeaderData(model->fieldIndex("sex"),
20 Qt::Horizontal, tr("性别"));
21
22 QTableView *view = new QTableView;
23
24 /* 设置表格的模型为 model */
25 view->setModel(model);
26 /* 不显示图片路径信息行 */
27 view->hideColumn(4);
28 /* 表格居中 */
29 setCentralWidget(view);
30 return;
第三:数据库最终效果
数据库最好是存储照片的路径。照片路径属于字符串文本,不会占用太多空间。
总结:数据库详细操作还是比较复杂的,本次主要是数据库的基本操作方法,能够将对应内容在中断上进行显示。