第一:数据库基本简介
数据库是按照数据结构来组织,存储和管理数据的仓库。是一个长期存储在计算机内的,有组织的,可共享的,统一管理的大量数据的集合。
在项目中使用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;
第三:数据库最终效果
数据库最好是存储照片的路径。照片路径属于字符串文本,不会占用太多空间。
总结:数据库详细操作还是比较复杂的,本次主要是数据库的基本操作方法,能够将对应内容在中断上进行显示。