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所需的数据。