描述
如果准备好的语句S已使用sqlite3_step(S)至少一次,但尚未运行完毕和/或尚未使用sqlite3_reset(S)复位,则返回true(非零)。如果S为NULL指针,则sqlite3_stmt_busy(S)函数返回false。如果S不是NULL指针,而不是指向有效的准备语句对象的指针,则行为是未定义的,可能是不可取的。
C / C ++语法
int sqlite3_stmt_busy(sqlite3_stmt*); |
PB语法
FUNCTION sqlite3_stmt_busy ( _ BYVAL hStmt AS DWORD _ ) AS LONG |
参数
pStmt
[in]语句句柄。
返回值
对或错。
备注
此函数可以组合使用sqlite3_next_stmt以查找与需要重置的数据库连接相关联的所有准备好的语句。这可以用于例如诊断功能来搜索正在持有事务打开的准备语句。
C ++实现代码
/*
** Return true if the prepared statement is in need of being reset.
*/
SQLITE_API int sqlite3_stmt_busy(sqlite3_stmt *pStmt){
Vdbe *v = (Vdbe*)pStmt;
return v!=0 && v->pc>0 && v->magic==VDBE_MAGIC_RUN;
}