Qt使用QSqlTableModel执行SQL语句,QLineEdit输入查询条件完成查询功能

本文介绍如何使用Qt中的QSqlTableModel结合SQL语句实现基于多个条件的查询功能,并展示查询结果于tableView组件中。文章提供了完整的源代码示例,包括如何设置过滤条件以及如何根据用户输入的数据进行灵活查询。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Qt使用QSqlTableModel执行SQL语句,在Lindedit输入查询条件完成查询功能,在tableView中显示

Lindedit可为空。

源代码:

void ConnectDb::dbTableView()
{

QSqlTableModel *model;
QString sName, sAge, sHeight, sSex;
int nAge = 0, nHeight = 0;
model = new QSqlTableModel(this);
model->setTable("testTable");
sName = ui.lineEdit->text();
sSex = ui.lineEdit_Sex->text();
sAge = ui.lineEdit_Age->text(); 
sHeight = ui.lineEdit_Hei->text();
nAge = sAge.toInt();
nHeight = sHeight.toInt();
if (!sName.isEmpty())
model->setFilter(QObject::tr(" 姓名 = '%1'").arg(sName));
if (!sSex.isEmpty())
model->setFilter(QObject::tr(" 性别 = '%1'").arg(sSex));
if (nAge != 0)
model->setFilter(QObject::tr(" 年龄 = '%1'").arg(sAge));
if (nHeight != 0)
model->setFilter(QObject::tr(" 身高 = '%1'").arg(sHeight));
model->select();
ui.tableView->setModel(model);
}





评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值