Sql server SQL\u需要\u返回简单整数上的数据

Sql server SQL\u需要\u返回简单整数上的数据,sql-server,query-parameters,parameterbinding,Sql Server,Query Parameters,Parameterbinding,全部, 我的处境很奇怪。我修改了一个查询,添加了类型为int的第三个参数,现在尝试将整数值绑定到它。电话如下: ret = SQLBindParameter( stmt_tableProp, 3, SQL_PARAM_INPUT, SQL_C_SLONG, SQL_INTEGER, 0, 0, &tableId, 0, &cbId ); tableId的值是171147655 添加此函数后,对SQLExecute()的调用开始返回SQL\u NEED\u数据 在表中,列的类型为

全部,

我的处境很奇怪。我修改了一个查询,添加了类型为
int
的第三个参数,现在尝试将整数值绑定到它。电话如下:

ret = SQLBindParameter( stmt_tableProp, 3, SQL_PARAM_INPUT, SQL_C_SLONG, SQL_INTEGER, 0, 0, &tableId, 0, &cbId );
tableId
的值是
171147655

添加此函数后,对SQLExecute()的调用开始返回SQL\u NEED\u数据

在表中,列的类型为
integer

我不明白这一点——我没有向查询传递大数据,也没有使用BLOB

为什么我要获取SQL所需的数据

如果我去掉3参数,一切都会恢复正常

有人能帮忙吗


蒂亚

如果函数的最后一个参数(
StrLen\u或\u IndPtr
)在执行时设置为
SQL\u DATA\u,则会发生此行为

您应该检查
cbId
变量的值


如果不初始化提供的变量,也会出现错误。

SQLBindParameter是否返回错误,或者,如果执行查询时发生eror,SQLBindParameter是否返回错误?@JerryJeremiah,SQLBindParameter执行成功。是SQLExecute()提供了SQL所需的数据。