1. 程式人生 > >Qt中使用sqlite獲取 篩選到的 行列數

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的指標放到首地址,避免後面使用獲取不到資料。