Matriz del estado de fila ODBC

La matriz de estado de fila devuelve el estado de cada fila en el conjunto de filas.

Usted asigna la matriz de estado de fila en su aplicación. A continuación, especifique la dirección de esta matriz con el atributo de la instrucción SQL_ATTR_ROW_STATUS_PTR. La matriz debe tener tantos elementos como especifique el atributo de la instrucción SQL_ATTR_ROW_ARRAY_SIZE. SQLExtendedFetch(), SQLFetchScroll() o SQLSetPos() establecen los valores de la matriz de estado de fila, a menos que esos métodos se llamen después de que el cursor haya sido posicionado por SQLExtendedFetch(). Si el valor del atributo de la instrucción SQL_ATTR_ROW_STATUS_PTR es un puntero nulo, SQLExtendedFetch(), SQLFetchScroll() y SQLSetPos() no devuelven el estado de la fila.

El contenido del búfer de matriz de estado de fila no está definido si SQLExtendedFetch() o SQLFetchScroll() no devuelve SQL_SUCCESS o SQL_SUCCESS_WITH_INFO.

Los siguientes valores se devuelven en la matriz de estado de la fila.
Tabla 1. Valores devueltos en una matriz de estado de fila
Valor de matriz de estado de la fila Descripción
SQL_ROW_SUCCESS La fila se recuperó correctamente.
SQL_ROW_SUCCESS_WITH_INFO La fila se recuperó correctamente, pero se devolvió una advertencia sobre la fila.
SQL_ROW_ERROR Se ha producido un error al recuperar la fila.
SQL_ROW_ADDED La fila fue insertada por SQLBulkOperations(). Si la fila se vuelve a recuperar o se actualiza mediante SQLSetPos(), su estado es SQL_ROW_SUCCESS.

SQLExtendedFetch() ni SQLFetchScroll() no establecen este valor.

Db2 ODBC no hace que las filas insertadas sean visibles para un conjunto de resultados de cursor desplazable, por lo que no devuelve este valor.

SQL_ROW_UPDATED La fila se recuperó correctamente y ha cambiado desde la última vez que se recuperó de este conjunto de resultados. Si la fila se vuelve a recuperar de este conjunto de resultados, o se actualiza mediante SQLSetPos(), el estado cambia al nuevo estado de la fila.

Db2 ODBC hace visibles las filas actualizadas si siguen satisfaciendo el predicado de la consulta. Por lo tanto, para SQLBulkOperations() o SQLSetPos(), Db2 ODBC puede indicar SQL_ROW_UPDATED, y la fila puede ser visible al volver a recuperar. Sin embargo, Db2 ODBC no puede detectar un cambio de valor desde la última obtención. Devuelve SQL_SUCCESS para una recuperación.

SQL_ROW_DELETED La fila se eliminó después de que se recuperó por última vez de este conjunto de resultados.

Db2 ODBC no hace visibles las filas eliminadas en un conjunto de resultados de cursor desplazable, por lo que no devuelve este valor.

SQL_ROW_NOROW El conjunto de filas se superpuso al final del conjunto de resultados y no se devolvió ninguna fila que se correspondiera con el elemento correspondiente de la matriz de estado de fila.