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

标签 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 的整个表。我希望能够将其更改为显示与搜索词匹配的单个记录。

最佳答案

使用函数 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;

关于c++ - 如何从sqlite中获取一条记录并显示在tableview中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46606167/

相关文章:

python - 导入错误 : No module named _sqlite3 on GAE

c++ - C++ 异构集合调用派生类函数

c++ - QGraphicsScene 的奇怪问题

qt - 为什么 QList::count() 被签名?

database - 数据库文件非常大的sqlite有什么性能特点?

iphone - 如何替换当前打开的 FMDB 数据库并保留当前队列?

c++ - qt 编写带有调试点的代码 View

c++ - 将 Mat 转换为 **float

c++ - 为什么这个模板推理失败

qt - PyQt QWebkit Javascript Function.bind 不存在(ECMAScript 5 缺失函数)