我正在尝试使用SQLBindParameter来准备驱动程序以通过输入SQLPutData。数据库中的TEXT字段是一个字段。我的功能是根据此处的MS示例制作的:http : //msdn.microsoft.com/zh-cn/library/ms713824(VS.85).aspx。
我已经设置了环境,建立了连接并成功准备了我的语句,但是当我调用SQLBindParam(使用下面的代码)时,它始终无法报告:
[Microsoft][SQL Native Client]Invalid precision value
int col_num = 1;
SQLINTEGER length = very_long_string.length( );
retcode = SQLBindParameter( StatementHandle,
col_num,
SQL_PARAM_INPUT,
SQL_C_BINARY,
SQL_LONGVARBINARY,
NULL,
NULL,
(SQLPOINTER) col_num,
NULL,
&length );
上面依赖于使用中的驱动程序,对于中的SQL_NEED_LONG_DATA_LEN信息类型返回“ N” SQLGetInfo。我的司机返回“ Y”。如何绑定以便使用SQLPutData?
您将传递NULL作为缓冲区长度,这是一个in / out参数,应为col_num参数的大小。另外,您应该为ColumnSize或DecimalDigits参数传递一个值。
http://msdn.microsoft.com/zh-CN/library/ms710963(VS.85).aspx
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。