使用QT操作sqlite(2)--表单数据显示

11 篇文章 2 订阅

在前面的《使用QT操作sqlite(1)》中,我们简单介绍了在QT5中如何通过其内置的驱动与sqlite建立连接,在debug信息中显示连接信息和数据库内的信息。这里我们开始使用QT中的控件来显示数据库中的数据信息。

一、数据显示原理介绍
在QT里面对于数据库的数据处理分为三部分或者说三个步骤:
1、准备好数据连接:保证通过数据对象能够连接数据源(数据库服务器或数据库文件)成功。这个我们在上一篇博文已经做了介绍,这里不重复。

2、装载数据到临时表:一般是将数据库中的表单通过QAbstractItemModel(如:QSqlTableModel、QSqlQueryModel、QSqlRelationalTableModel)的settable方法来装载到它的一个临时table中,代码常常为:model->settable(“tb1”),如此数据库中的tb1就被装载到了临时表中了。
在这里插入图片描述
3、将临时表中的数据显示在QAbstractItemView类(如:QListView、 QTableView、 QTreeView)中,我们常常通过各种view的setModel和上面的数据源model进行绑定,这样我们就可以在view中显示数据了。
在这里插入图片描述
通过上述三个步骤,我们就可以批量操作和显示数据了,下面我们来逐个看看如何显示。

二、在控件中显示

1、在tableView中显示

在这里插入图片描述
代码如下:

 QSqlTableModel  *model=new QSqlTableModel(this);
  model->setTable("product");
  model->select();
  ui->tableView->setModel(model);

1、在Commbox中显示
在这里插入图片描述

 QSqlQueryModel  *model=new QSqlQueryModel(this);
    query.exec("select products from product");
    model->setQuery(query);
    ui->comboBox->setModel(model);

通过query来获取数据的时候一定要注意query与数据库关联,否则会发生无法显示数据的情况。
关联的方法请参考我的博文《如何解决QSqlQuery::exec: database not open》

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

河西石头

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值