从sqlite3 iphone DB获取记录数

时间:2009-11-15 20:43:43

标签: iphone sqlite

我正在尝试在iphone上获取sqlite3中表的记录数,这样我就可以进行一点动态内存分配。但是,当我运行以下代码时,我得到的记录数为零。数据库是开放的(我有更多的代码紧跟在这之后检索我感兴趣的表中的行)。我只是无法获得记录数。

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

1 个答案:

答案 0 :(得分:2)

您的代码缺少sqlite3_step()

相关问题