SQLNumResultCols
对于执行的语句,SQL Server Native Client ODBC 驱动程序不会访问服务器来报告结果集中的列数。 在这种情况下, SQLNumResultCols
不会导致服务器往返。 与 SQLDescribeCol 和 SQLColAttribute 一样,在已准备但未执行的语句上调用 SQLNumResultCols
会生成服务器往返。
当 Transact-SQL 语句或语句批处理返回多个结果行集时,结果集列的数目可能会从一个集更改为另一个集。 SQLNumResultCols
应为每个集调用 。 如果列数有变化,应用程序应该在提取行结果之前重新绑定数据值。 有关处理多个结果集返回的详细信息,请参阅 SQLMoreResults。
从 SQL Server 2012 开始,数据库引擎中的改进使 SQLNumResultCols 能够更准确地描述预期结果。 这些更准确的结果可能与以前版本的 SQL Server 中 SQLNumResultCols 返回的值不同。 有关详细信息,请参阅元数据发现。