Поделиться через


SQLNumResultCols

Для выполняемых инструкций драйвер ODBC SQL Server Native Client не посещает сервер, чтобы сообщить о количестве столбцов в результирующем наборе. В этом случае SQLNumResultCols не приводит к циклу передачи сервера. Как и SQLDescribeCol и SQLColAttribute, вызов SQLNumResultCols подготовленных, но не выполненных инструкций приводит к циклу выполнения сервера.

Если инструкция Transact-SQL или пакет инструкций возвращает несколько результирующих наборов строк, количество столбцов результирующих наборов может изменяться из одного набора в другой. SQLNumResultCols должен вызываться для каждого набора. При изменении числа столбцов приложение должно осуществить повторную привязку значений данных перед выборкой результатов строк. Дополнительные сведения об обработке запросов, возвращающих несколько результирующих наборов, см. в разделе SQLMoreResults.

Улучшения в ядре СУБД, начиная с SQL Server 2012, позволяют SQLNumResultCols получать более точные описания ожидаемых результатов. Эти более точные результаты могут отличаться от значений, возвращаемых SQLNumResultCols в предыдущих версиях SQL Server. Дополнительные сведения см. в разделе Обнаружение метаданных.

См. также:

SQLNumResultCols, функция
ODBC API Implementation Details