如何从sqlite获取一条记录并在tableview中显示

时间:2017-10-06 12:49:49

标签: c++ qt sqlite

我想要做的是从文本字段(即cust_name)获取输入,匹配并使用列cust_name从数据库中获取记录。 数据库有表cust和列cust_nameaddress。我想找到一种在QSqlTableModel的Tablview中显示数据的方法。

QSqlTableModel *model = new QSqlTableModel;
model->setTable("cust");
model->setEditStrategy(QSqlTableModel::OnManualSubmit);
ui->tableView->setModel(model);
ui->tableView->setColumnHidden(0,1);
ui->tableView->setColumnHidden(5,1);

ui->list->setModel(model);
ui->list->setModelColumn(1);

model->select();

这会成功显示名为cust的整个表。我希望能够将其更改为显示与搜索词匹配的单个记录。

1 个答案:

答案 0 :(得分:1)

使用函数index()访问自定义行/列。

QSqlTableModel *model = new QSqlTableModel;
int value = model->index(row,column).data().toInt();

在你的情况下:

int value = model->index((model->rowCount()-1),column).data().toInt();

或自定义SQL查询:

SELECT * FROM tablename ORDER BY id DESC LIMIT 1;