gpt4 book ai didi

sqlite - 如何防止 Sqlite 未绑定(bind)参数解释为 NULL

转载 作者:行者123 更新时间:2023-12-03 19:07:15 25 4
gpt4 key购买 nike

正如 Sqlite 文档所指定的那样,准备好的语句中的未绑定(bind)参数被解释为 NULL - 我的问题是:

有没有办法让 Sqlite 确保所有参数都至少绑定(bind)一次,从而确保没有一个被意外遗漏?

最好得到一个错误并要求调用 sqlite3_bind_null(statement_, col);然后得到一个微妙的错误,因为我忘了打电话 sqlite3_bind_*在更新语句的 where 子句上!

最佳答案

使用当前 SQLite 库无法区分未绑定(bind)参数和设置为 NULL 的参数。

如果您查看 sqlite3_bind_null() 的 C 源代码,你会发现它只是简单的调用了内部的SQLite函数解绑了一个参数。因此,没有办法区分这两种情况。

唯一的解决方案是用您自己的函数包装 SQLite C API 函数,这些函数将做一些簿记。您可以将位图与每个 sqlite3_stmt 捆绑在一起。结构,当且仅当相应的参数被绑定(bind)时,每个位都设置为 true。您必须至少为 sqlite3_bind_*() 创建包装器。功能和sqlite3_clear_bindings() .

关于sqlite - 如何防止 Sqlite 未绑定(bind)参数解释为 NULL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4585336/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com