SQLNumResultCols

适用于:SQL Server Azure SQL 数据库 Azure SQL 托管实例 Azure Synapse Analytics Analytics Platform System (PDW)

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

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

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

另请参阅

SQLNumResultCols 函数
ODBC API 实现细节