为什么一些SQLite函数从零开始,一些基于一个

dal*_*lle 6 sqlite parameters

索引参数sqlite3_column_*是从零开始的,而sqlite3_bind_*基于一个.

是否有一个原因?

MPe*_*ier 2

我懂了。

责备sqlite3_bind_parameter_index

返回给定名称的 SQL 参数的索引。返回的索引值适合用作 sqlite3_bind() 的第二个参数。如果未找到匹配的参数,则返回零。

那么就这样吧。奇怪的选择,考虑到他们似乎使用有符号 int 作为索引,这意味着他们可以使用 -1 来表示不匹配。也许这背后的原因更具历史意义,SQLite 已经存在了一段时间了......