이것은 mysql_num_rows 덕분에 mysql에서 간단하지만 sqlite3에는 이와 동등한 것이 없다. 따라서 질문은 현재 행이 마지막 행인지 여부를 아는 것입니다.SQLite3 - 현재 행이 마지막 행인지 알 수있는 방법
다음과 같은 재 배열은 sqlite3_step이 유효하지 않은 이전 바인딩으로는 도움이되지 않습니다.
sqlite3_prepare_v2()
int fetched = 0;
int last = 0;
while (sqlite3_step(statement) == SQLITE_ROW) {
// this is the previous row
if(fetched) {
process(data, last);
}
fetched = 1;
data = sqlite3_column_text();
}
last = 1;
if(fetched)
process(data, last);
쿼리를 두 번 실행하면 (계산과 함께) 사소한 해결 방법이 있지만 그게 내가 원하는 것이 아닙니다.
아이디어가 있으십니까? 미리 감사드립니다.
'WITHOUT ROWID' 절을 사용하여 테이블을 만들지 않았다면,'SELECT Max (ROWID) AS LastRow'는 마지막으로 생성 된 행을 제공해야합니다. 'AS LastRow'는 선택 사항입니다. –