Partilhar via


Matriz de estado da linha

Para além dos dados, SQLFetch e SQLFetchScroll podem devolver um array que indica o estado de cada linha no conjunto de linhas. Este array é especificado através do atributo de instrução SQL_ATTR_ROW_STATUS_PTR. Este array é alocado pela aplicação e deve conter tantos elementos quantos forem especificados pelo atributo da instrução SQL_ATTR_ROW_ARRAY_SIZE. Os valores no array são definidos por SQLBulkOperations, SQLFetch, SQLFetchScroll e SQLSetPos. Os valores descrevem o estado da linha e se esse estado mudou desde a última vez que foi obtida.

Valor da matriz de estado da linha Description
SQL_ROW_SUCCESS A fila foi recuperada com sucesso e não mudou desde a última vez que foi buscada.
SQL_ROW_SUCCESS_WITH_INFO A fila foi recuperada com sucesso e não mudou desde a última vez que foi buscada. No entanto, foi emitido um aviso sobre a discussão.
SQL_ROW_ERROR Ocorreu um erro ao buscar a linha.
SQL_ROW_UPDATED A linha foi recuperada com sucesso e tem sido atualizada desde a última vez que foi buscada. Se a linha for recuperada novamente ou atualizada pelo SQLSetPos, o seu estado é alterado para o novo estado.

Alguns drivers não conseguem detetar alterações nos dados e, portanto, não conseguem devolver esse valor. Para determinar se um driver consegue detetar atualizações em linhas recuperadas, uma aplicação chama SQLGetInfo com a opção SQL_ROW_UPDATES.
SQL_ROW_DELETED A linha foi apagada desde a última vez que foi recuperada.
SQL_ROW_ADDED (Linha de SQL adicionada) A linha foi inserida pelo SQLBulkOperations. Se a linha for recuperada novamente ou atualizada pelo SQLSetPos, o seu estado é SQL_ROW_SUCCESS.

Este valor não é definido por SQLFetch ou SQLFetchScroll.
SQL_ROW_NOROW O conjunto de linhas ultrapassava o final do conjunto de resultados, e não foi retornada nenhuma linha que se relacionasse com este elemento do array de estado da linha.