加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

为什么sqlite3_bind_ *从索引1开始但sqlite3_column_ *从0开始?

发布时间:2020-12-12 23:42:47 所属栏目:百科 来源:网络整理
导读:在sqlite3.h的评论中: 对于sqlite3_bind_, * ^可以使用.查找命名参数的索引 ** [sqlite3_bind_parameter_index()] API,如果需要. ^索引 **“?NNN”参数是NNN的值. ** ^ NNN值必须介于1和[sqlite3_limit()]之间 for sqlite3_column_ * ** ^结果集的最左列具
在sqlite3.h的评论中:

对于sqlite3_bind_,
* ^可以使用.查找命名参数的索引
** [sqlite3_bind_parameter_index()] API,如果需要. ^索引
**“?NNN”参数是NNN的值.
** ^ NNN值必须介于1和[sqlite3_limit()]之间

for sqlite3_column_ *
** ^结果集的最左列具有索引0.
** ^可以使用确定结果中的列数
** [sqlite3_column_count()].

为什么会出现这种奇怪的不一致?

没有奇怪的不一致.

sqlite3_bind _ *()函数将值与printf样式格式说明符(SQLite3自己的术语中的“主机参数名称”)相关联.它具有与函数参数类似的功能,它匹配约定从1开始编号(“第一个参数”,“第二个参数”,……).

相似性:在POSIX C中,printf()函数接受可以使用%N $c语法修改转换顺序的格式字符串,其中c是实际转换说明符字符或字符序列,N是从1开始的数字.

但是,列不是类似于参数的实体.它们是可索引数据结构中的项目.它们更类似于,例如,数组的元素,这就是为什么从零开始索引它们是有意义的.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读