Qtでsqliteを使用してフィルタされた行列数を取得
696 ワード
まず考えを言います.
列の取得:
query文を直接実行した後、sqlrecordでカラムを取得します.
コードは次のとおりです.
取得行数:
もquery文を実行した後、lastポインタで取得します
コードは次のとおりです.
これはpos計算後にqueryのポインタをヘッダアドレスに配置し、後で使用してデータが取得されないようにする必要があることに少し注意してください.
列の取得:
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のポインタをヘッダアドレスに配置し、後で使用してデータが取得されないようにする必要があることに少し注意してください.