当前位置: 首页 > 工具软件 > 中间翻页 > 使用案例 >

qt 数据库实现翻页功能

嵇光临
2023-12-01

qt使用qsqltablemodel和tableview控件对数据库进行操作和显示,但是qsqltablemodel本身并不支持翻页操作。
但是qsqltablemodel的select函数会调用selectStatement函数返回的语句,进行数据库的查询操作,也就是说可以通过继承qsqltablemodel类,覆写其中的selectStatement函数来实现显示特定页数的数据
自定义类mySqlTableModel 继承qsqltablemodel

class mySqlTableModel : public QSqlTableModel
{
public:
    mySqlTableModel();
    QString selectStatement() const;
    void totalRowCount();
    void setSelectAllData(bool choose);
private:
    int totalRows;
    int currentPage;
    bool selectAllData;
};

覆写selectStatement函数

QString mySqlTableModel::selectStatement()const{
    QString strRet;
    if(selectAllData){
        return this->QSqlTableModel::selectStatement();
    }else{
        strRet+="select * from table_1 limit 5 offset "+QString::number((currentPage-1)*5);
    }
    return strRet;
}

为什么加一个sel

 类似资料: