0

全部,

我有一个奇怪的情况。我修改了一个查询,添加了类型的第三个参数,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 参数,一切都会再次起作用。

有人可以帮忙吗?

蒂亚!

4

1 回答 1

0

如果SQLBindParameter函数 ( StrLen_or_IndPtr)的最后一个参数设置为 ,则会发生此行为SQL_DATA_AT_EXEC

您应该检查cbId变量的值。

如果您不初始化提供的变量,该错误似乎也会发生。

于 2017-12-05T17:11:02.813 回答