勇芳软件工作室.汉化:  SQLite3 API Functions > Statements >

sqlite3_stmt_busy

Previous pageReturn to chapter overviewNext page

描述

 

如果准备好的语句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;

}