关于参数绑定参数长度问题
有时用户使用SQLBindParameter进行参数绑定,会出现绑定参数正确,但是报错的问题。
解答
此问题多见于以char类型绑定某些数据结构。因为函数的最后一个参数需要传入实际参数的长度,某些开发者喜欢用strlen()得到数据的长度,因为此长度不会计算结尾处的‘\0’, 所以参数的结尾‘\0’不会传入到服务端,当在某些情况下处理此类参数时,服务端会认为此参数格式有问题而报错,解决办法是计算长度时使用 strlen()+1 ,把‘\0’的长度纳入参数的长度范围,传入的参数自带‘\0’。