小巧。快速。可靠。
三选一。

SQLite C 接口

确定预处理语句是否已重置

int sqlite3_stmt_busy(sqlite3_stmt*);

如果 预处理语句 S 至少使用 sqlite3_step(S) 执行过一次,但既没有运行完成(从 sqlite3_step(S) 返回 SQLITE_DONE),也没有使用 sqlite3_reset(S) 重置,则 sqlite3_stmt_busy(S) 接口返回 true(非零)。如果 S 是 NULL 指针,则 sqlite3_stmt_busy(S) 接口返回 false。如果 S 不是 NULL 指针,并且不是指向有效 预处理语句 对象的指针,则行为未定义,可能不可取。

此接口可以与 sqlite3_next_stmt() 结合使用,以定位与数据库连接相关联的所有需要重置的预处理语句。例如,这可以用于诊断例程以搜索正在保持事务打开的预处理语句。

另请参见 对象常量函数 的列表。