SQLNumResultCols

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

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

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

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

另请参阅

SQLNumResultCols 函数
ODBC API 实现细节