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() 結合使用,以找出與資料庫連線相關聯的所有需要重置的預備語句。例如,這可以用於診斷例程中,以搜尋持有開啟交易的預備語句。