Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Para usar cursores
Llame a SQLSetStmtAttr para establecer los atributos de cursor deseados:
Establezca los atributos SQL_ATTR_CURSOR_TYPE y SQL_ATTR_CONCURRENCY (esta es la opción preferida).
O bien,
Establezca los atributos SQL_CURSOR_SCROLLABLE y SQL_CURSOR_SENSITIVITY.
Llame a SQLSetStmtAttr para establecer el tamaño del conjunto de filas mediante el atributo SQL_ATTR_ROW_ARRAY_SIZE.
Opcionalmente, llame a SQLSetCursorName para establecer un nombre de cursor si las actualizaciones posicionadas se realizarán mediante la cláusula WHERE CURRENT OF.
Ejecute la instrucción SQL.
Opcionalmente, llame a SQLGetCursorName para obtener el nombre del cursor si las actualizaciones posicionadas se realizarán mediante la cláusula WHERE CURRENT OF y no se proporcionó un nombre de cursor con SQLSetCursorName en el paso 3.
Llame a SQLNumResultCols para obtener el número de columnas (C) en el conjunto de filas.
Use el enlace en orden de columna.
- o -
Use el enlace de fila.
Capturar conjuntos de filas del cursor según sea necesario.
Llame a SQLMoreResults para determinar si hay otro conjunto de resultados disponible.
Si devuelve SQL_SUCCESS, hay otro conjunto de resultados disponible.
Si devuelve SQL_NO_DATA, no hay más conjuntos de resultados disponibles.
Si devuelve SQL_SUCCESS_WITH_INFO o SQL_ERROR, llame a SQLGetDiagRec para determinar si la salida de una instrucción PRINT o RAISERROR está disponible.
Si los parámetros de instrucción enlazada se usan para los parámetros de salida o el valor devuelto de un procedimiento almacenado, use los datos disponibles ahora en los búferes de parámetros enlazados.
Cuando se usan parámetros enlazados, cada llamada a SQLExecute o SQLExecDirect habrá ejecutado la instrucción SQL S veces, donde S es el número de elementos de la matriz de parámetros enlazados. Esto significa que habrá conjuntos de resultados S para procesar, donde cada conjunto de resultados consta de todos los conjuntos de resultados, parámetros de salida y códigos de retorno que normalmente devuelve una sola ejecución de la instrucción SQL.
Tenga en cuenta que cuando un conjunto de resultados contiene filas de proceso, cada fila de proceso está disponible como un conjunto de resultados independiente. Estos conjuntos de resultados de proceso se intercalan dentro de las filas normales y dividen las filas normales en varios conjuntos de resultados.
Opcionalmente, llame a SQLFreeStmt con SQL_UNBIND para liberar los búferes de columna enlazados.
Si hay otro conjunto de resultados disponible, vaya al paso 6.
En el paso 9, la llamada a SQLMoreResults en un conjunto de resultados procesado parcialmente borra el resto del conjunto de resultados. Otra manera de borrar un conjunto de resultados parcialmente procesado es llamar a SQLCloseCursor.
Puede controlar el tipo de cursor usado estableciendo SQL_ATTR_CURSOR_TYPE y SQL_ATTR_CONCURRENCY, o estableciendo SQL_ATTR_CURSOR_SENSITIVITY y SQL_ATTR_CURSOR_SCROLLABLE. No debe mezclar los dos métodos para especificar el comportamiento del cursor.