SQLNumResultCols

对于执行的语句,SQL Server Native Client ODBC 驱动程序不会访问服务器来报告结果集中的列数。 在这种情况下, SQLNumResultCols 不会导致服务器往返。 与 SQLDescribeColSQLColAttribute 一样,调用 SQLNumResultCols 已准备但未执行的语句将生成服务器往返。

当 Transact-SQL 语句或语句批处理返回多个结果行集时,结果集列数可能会从一个集更改为另一个集。 SQLNumResultCols 应为每个集调用。 当列数发生更改时,应用程序应在提取行结果之前重新绑定数据值。 有关处理多个结果集返回的详细信息,请参阅 SQLMoreResults

从 SQL Server 2012 开始的数据库引擎改进使 SQLNumResultCols 能够获取预期结果的更准确说明。 这些更准确的结果可能与 SQL Server 早期版本中 SQLNumResultCols 返回的值不同。 有关详细信息,请参阅 元数据发现

另请参阅

SQLNumResultCols 函数
ODBC API 实现细节