Я пытаюсь получить количество записей таблицы в sqlite3 на iphone, чтобы я мог сделать небольшое динамическое распределение памяти. Но когда я запускаю следующий код, я получаю нулевое количество записей. БД открыта (сразу после этого у меня есть код, который извлекает строки из интересующей меня таблицы). Я просто не могу получить количество записей.
sqlite3_stmt *stmt = nil;
const char *countSql = "select count(*) from users;";
if (sqlite3_prepare(db, countSql, -1, &stmt, NULL) != SQLITE_OK) {
NSAssert1 (0, @"error preparing count statement", sqlite3_errmsg(db));
} else {
for (int i = 0; i < 3; i++) {
usersCnt = sqlite3_column_int(stmt, i);
NSLog(@"usersCnt %d", usersCnt);
}
}
sqlite3_finalize(stmt);
Единственные причины, по которым я делаю цикл i (1 - 3), - это проверка того, что я не получаю счет обратно в столбце, которого я не ожидаю.
Коды отпечатков:
2009-11-15 21:26:17.225 MyDBTest [12759:207] usersCnt 0
2009-11-15 21:26:17.225 MyDBTest [12759:207] usersCnt 0
2009-11-15 21:26:17.225 MyDBTest [12759:207] usersCnt 0