在C中同步查询SQLite DB

时间:2014-09-19 19:27:28

标签: c sqlite

我正在尝试在C中使用SQLite。

我知道的界面存在查询,

sqlite3_exec

允许仅异步查询数据(就我在搜索中找到的那样)。

有没有办法让结果得到"选择计数(*)..."从SQLite DB同步,而不必实现等待数据的东西,并将其返回到同一个函数?

我几乎想要实现一个" howManyItems"将实际结果返回给调用者的方法...

感谢。

1 个答案:

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