【发布时间】:2017-07-17 04:02:50
【问题描述】:
所有,
我遇到了一个奇怪的情况。我修改了一个查询,添加了int 类型的第三个参数,现在尝试将整数值绑定到它。调用如下:
ret = SQLBindParameter( stmt_tableProp, 3, SQL_PARAM_INPUT, SQL_C_SLONG, SQL_INTEGER, 0, 0, &tableId, 0, &cbId );
tableId 的值为171147655。
添加此函数后,对 SQLExecute() 的调用开始返回 SQL_NEED_DATA。
在表中,该列的类型为integer。
我不明白这一点 - 我没有将大数据传递给查询,也没有使用 BLOB。
为什么我会得到 SQL_NEED_DATA?
如果我去掉 3 参数,一切都会再次运行。
有人可以帮忙吗?
TIA!
【问题讨论】:
-
SQLBindParameter 是否返回错误,或者,如果执行查询时发生错误,SQLBindParameter 是否返回错误?
-
@JerryJeremiah,SQLBindParameter 执行成功。是 SQLExecute() 提供 SQL_NEED_DATA。
标签: sql-server query-parameters parameterbinding