我是Qt编程的初学者,我正在开发一个项目,我正在使用SQLite数据库。
我的数据库中有20行,我只想在第一次按下show button时显示QTableView
中的最后五行。如果我再次按下显示按钮,则应该从数据库中显示最后10行。
但我不知道应该写什么代码。请帮帮我。
看看这个图像我只想在第一次单击“显示”按钮时显示最后五行,然后在第二次单击“显示”按钮时显示最后10行。
提前谢谢。
这是我的代码,用于将SQLite数据库中的数据显示为QTableView
。
void SecondWindow::on_pushButton_show_clicked()
{
MainWindow conn;
QSqlQueryModel *model = new QSqlQueryModel();
conn.openConn();
QSqlQuery *qry = new QSqlQuery(conn.mydb);
qry->prepare("select eid,name,surname,salary from employeeInfo");
qry->exec();
model->setQuery(*qry);
ui->tableView->setModel(model);
conn.closeConn();
qDebug() << (model->rowCount());
}
答案 0 :(得分:0)
您正在SQL查询中寻找 LIMIT 关键字,例如:
"select eid,name,surname,salary from employeeInfo LIMIT 10 OFFSET 10"
将在前10行后返回10行。
答案 1 :(得分:0)
如果您不想每次都发送SQL查询,只是更改显示的元素数量,您可以编写基于QAbstractProxyModel
的模型类。您只需覆盖mapFromSource
,mapToSource
和rowCount
方法