首页| 论坛| 消息

标题:二十六、Qt数据库(六)QSqlTableModel(原创)
作者:yafei86
日期:2010-03-26 17:48
内容:

声明:本文原创于yafeilinux的百度博客,http://hi.baidu.com/yafeilinux 转载请注明出处。
在上一篇我们讲到只读的QSqlQueryModel也可以使其可编辑,但是很麻烦。Qt提供了操作单表的QSqlTableModel,如果我们需要对表的内容进行修改,那么我们就可以直接使用这个类。
QSqlTableModel,该类提供了一个可读写单张SQL表的可编辑数据模型。我们下面就对其的几个常用功能进行介绍,分别是修改,插入,删除,查询,和排序。
在开始讲之前,我们还是新建Qt4 Gui Application工程,我这里工程名为tableModel ,然后选中QtSql模块,Base class选QWidget。工程建好后,添加C++ Header File ,命名为database.h,更改其内容如下:
#ifndef DATABASE_H
#define DATABASE_H
#include
#include
#include
static bool createConnection()
{
QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");
db.setDatabaseName("database.db");
if(!db.open()) return false;
QSqlQuery query;
query.exec(QObject::tr("create table student (id int primary key, name vchar)"));
query.exec(QObject::tr("insert into student values (0,'刘明')"));
query.exec(QObject::tr("insert into student values (1,'陈刚')"));
query.exec(QObject::tr("insert into student values (2,'王红')"));
return true;
}
#endif // DATABASE_H
为了在数据库中能使用中文,我们使用了QObject类的tr()函数。而在下面的main()函数中我们也需 ..

回复 发表
主题 版块