SQLite C 接口

销毁准备好的语句对象

int sqlite3_finalize(sqlite3_stmt *pStmt);

调用 sqlite3_finalize() 函数来删除准备好的语句如果语句的最近评估没有遇到错误,或者从未评估过语句,则 sqlite3_finalize() 返回 SQLITE_OK。如果语句 S 的最新评估失败,则 sqlite3_finalize(S) 返回适当的错误代码扩展错误代码

sqlite3_finalize(S) 例程可以在准备语句S 的生命周期中的任何时候调用:在对语句 S 进行评估之前,在对sqlite3_reset()进行一次或多次调用之后,或者在对sqlite3_step()的任何调用之后,无论是否或不是语句已经执行完毕。

在 NULL 指针上调用 sqlite3_finalize() 是无害的空操作。

应用程序必须完成每个准备好的语句以避免资源泄漏。应用程序在完成后尝试使用准备好的语句是一个严重的错误。准备好的语句在完成后的任何使用都可能导致未定义和不良行为,例如段错误和堆损坏。

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