2009-11-15 5 views
0

Я пытаюсь получить количество записей таблицы в sqlite3 на iphone, поэтому я могу сделать небольшое распределение динамической памяти. Но, когда я запускаю следующий код, я получаю количество записей в ноль. БД открыта (у меня сразу появляется следующий код, который извлекает строки из интересующей меня таблицы). Я просто не могу получить рекорд.Получение количества записей из sqlite3 iphone DB

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); 

Единственные причины я Перебор я (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 

ответ

2

Ваш код отсутствует sqlite3_step()

+0

это почти как люди ждут на SO обновление экрана непрерывно, ища вопросы, которые они знают ответ на :) Спасибо миллион, это удивительно, что делает близорукость даже после вырезания и вставки. – KevinDTimm

+0

, если бы я мог получить остальную часть моих обзоров кода, сделанных так быстро, жизнь была бы GRAND! – KevinDTimm

Смежные вопросы