Qt中使用sqlite获取 筛选到的 行列数

先说思路:

获取列:

    直接执行query语句后,通过sqlrecord进行获取列;

代码如下:

int queryColumnCount(QSqlQuery query)
{
    QSqlRecord sqlRecord = query.record();
    return sqlRecord.count();
}

获取行数:

    也是执行query语句以后,通过last指针获取

代码如下:

int queryRowCount(QSqlQuery query)
{
    int initialPos = query.at();
    // Very strange but for no records .at() returns -2
    int pos = 0;
    if (query.last()){
        pos = query.at() + 1;
    }else{
        pos = 0;
    }
    // Important to restore initial pos
    query.seek(initialPos);
    return pos;
}
这个稍微注意一点就是 pos计算后需要将query的指针放到首地址,避免后面使用获取不到数据。 
  


你可能感兴趣的:(Qt学习)