SQLGetData Function参考解释了API的以下一般限制:
如果驱动程序不支持SQLGetData的扩展,则该函数 只能为数字大于的未绑定列返回数据 最后一个绑定列的那个。此外,在一行数据中, 每次调用SQLGetData时,Col_or_Param_Num参数的值必须为 大于或等于中的Col_or_Param_Num的值 以前的电话;也就是说,必须在增加列中检索数据 数字顺序。
SQLGetData
上的ODBC API implementation details article添加了特定于SQL Server Native Client驱动程序的信息:
SQL Server Native Client ODBC驱动程序不支持使用 SQLGetData以随机列顺序检索数据。全部未绑定 使用SQLGetData处理的列必须具有更高的列序数 而不是结果集中的绑定列。
此列排序限制是否适用于新的和推荐的 SQL Server的Microsoft ODBC驱动程序?
当前这种行为有什么不同 用于SQL Server版本的ODBC驱动程序11和即将发布的SQL Server ODBC驱动程序13(预览版)?
答案 0 :(得分:2)
您可以通过调用SQLGetInfo
ODBC函数来测试代码中的驱动程序可用性。
用于SQL Server的ODBC驱动程序13 将返回以下内容:
SQL_GETDATA_EXTENSIONS:
SQL_GD_ANY_COLUMN false
SQL_GD_ANY_ORDER false