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

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);
}





你可能感兴趣的:(Qt使用QSqlTableModel执行SQL语句,QLineEdit输入查询条件完成查询功能)