Это тривиально в mysql благодаря mysql_num_rows, но такой эквивалент не присутствует в 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' является необязательным. –