【发布时间】:2010-09-29 13:38:52
【问题描述】:
有人能详细说明一下这些功能吗:
sqlite3_reset();
sqlite3_clear_bindings()
我知道我可以使用 sqlite3_prepare() 将 sql 字符串转换为引擎可以理解的本机字节码。因此,引擎不必每次使用时都翻译它。我还可以对此类准备好的语句进行参数化,然后使用 sqlite3_bind*() 函数将值绑定到它。
我可以使用 sqlite3_clear_bindings() 将 NULL 值分配给这些绑定的参数。 从documentation 可以读到 sqlite3_reset(),不会破坏绑定,值被保留并且对象被置于初始状态。它实际上是什么意思? 尤其是关于不破坏绑定的部分。
【问题讨论】:
-
绑定时将值复制到stmt是否正确? (除了你必须指定第 5 个参数的 sqlite3_bind_text*() 函数)。
标签: sql database sqlite prepared-statement