SQLNumResultCols
En el caso de las instrucciones ejecutadas, el controlador ODBC SQL Server Native Client no visita el servidor para informar del número de columnas de un conjunto de resultados. En este caso, SQLNumResultCols
no causa un recorrido de ida y vuelta del servidor. Al igual que SQLDescribeCol y SQLColAttribute, llamar a SQLNumResultCols
instrucciones preparadas pero no ejecutadas genera un recorrido de ida y vuelta del servidor.
Cuando un lote de instrucción o instrucción Transact-SQL devuelve varios conjuntos de filas de resultados, es posible que el número de columnas del conjunto de resultados cambie de un conjunto a otro. SQLNumResultCols
se debe llamar a para cada conjunto. Cuando el número de columnas cambia, la aplicación debe volver a enlazar los valores de datos antes de capturar los resultados de la fila. Para obtener más información sobre cómo administrar la devolución de varios conjuntos de resultados, vea SQLMoreResults.
Las mejoras en el motor de base de datos a partir de SQL Server 2012 permiten a SQLNumResultCols obtener descripciones más precisas de los resultados esperados. Estos resultados más precisos pueden diferir de los valores devueltos por SQLNumResultCols en versiones anteriores de SQL Server. Para obtener más información, vea Detección de metadatos.