sqlite3_column_*
的索引参数从零开始,而sqlite3_bind_*
是从1开始的。
这是否有原因?
答案 0 :(得分:2)
我知道了。
责备sqlite3_bind_parameter_index:
返回给定名称的SQL参数的索引。返回的索引值适合用作sqlite3_bind()的第二个参数。如果未找到匹配的参数,则返回零。
所以你去吧。奇怪的选择,考虑到他们似乎使用了一个signed int作为索引,这意味着他们可以使用-1来表示不匹配。也许背后的原因更具历史性,SQLite已经存在了一段时间......