我正在尝试在C中使用SQLite。
我知道的界面存在查询,
sqlite3_exec
允许仅异步查询数据(就我在搜索中找到的那样)。
有没有办法让结果得到"选择计数(*)..."从SQLite DB同步,而不必实现等待数据的东西,并将其返回到同一个函数?
我几乎想要实现一个" howManyItems"将实际结果返回给调用者的方法...
感谢。
答案 0 :(得分:4)
假设打开sqlite3 *db
,请使用sqlite3_prepare_v2()
和sqlite3_step()
(为了简洁而忽略错误检查):
sqlite3_stmt *statement = null;
// prepare our query
sqlite3_prepare_v2(db, "select count(*) from foo;", -1, &statement, 0);
// if there were parameters to bind, we'd do that here
// retrieve the first row (only row, in this case) of the results
int result = sqlite3_step(statement);
if (result == SQLITE_ROW)
{
// retrieve the value of the first column (0-based)
int count = sqlite3_column_int(statement, 0);
// do something with count
}
// free our statement
sqlite3_finalize(statement);