0

下面是我的示例代码:

db = QSqlDatabase.addDatabase('QSQLITE')
db.setDatabaseName('book.db')
db.open()

model = QSqlQueryModel()
model.setQuery("SELECT * FROM card")
self.tableView.setModel(model)

我正在使用 QSqlQueryModel、Qtablevie、Sqlite3,并且能够查看表中的所有行。但我只想查看表的最后两行,它们是新插入到表中的行。该表没有“id”字段,它有数字和文本字段。这怎么可能?下面是表格图片: 在此处输入图像描述

4

1 回答 1

2

如果要获取按指示插入顺序的任何字段排序的最后 2 个元素,在您的情况下为“rowid”,则必须在 SQL 命令中使用过滤器,如下所示:

model.setQuery("SELECT * FROM card ORDER BY rowid DESC LIMIT 2")

另一种可能的选择是使用 QSortFilterProxyModel 过滤表,但效率较低。

于 2020-08-17T06:51:54.823 回答