Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
As aplicações podem atualizar ou eliminar qualquer linha do conjunto de linhas com SQLSetPos. Chamar SQLSetPos é uma alternativa conveniente à construção e execução de uma instrução SQL. Permite que um driver ODBC suporte atualizações posicionadas mesmo quando a fonte de dados não suporta instruções SQL posicionadas. Faz parte do paradigma de alcançar acesso completo à base de dados através de chamadas de funções.
O SQLSetPos opera no conjunto de linhas atual e só pode ser usado após uma chamada ao SQLFetchScroll. A aplicação especifica o número da linha a atualizar, eliminar ou inserir, e o driver recupera os novos dados dessa linha a partir dos buffers do conjunto de linhas. O SQLSetPos também pode ser usado para designar uma linha especificada como a linha atual, ou para atualizar uma linha específica do conjunto de linhas a partir da fonte de dados.
O tamanho do conjunto de linhas é definido por uma chamada ao SQLSetStmtAttr com um argumento de atributo de SQL_ATTR_ROW_ARRAY_SIZE. No entanto, o SQLSetPos utiliza um novo tamanho de conjunto de linhas, apenas após uma chamada ao SQLFetch ou SQLFetchScroll. Por exemplo, se o tamanho do conjunto de linhas for alterado, o SQLSetPos é chamado e depois o SQLFetch ou SQLFetchScroll é chamado, e a chamada ao SQLSetPos usa o tamanho antigo do conjunto de linhas enquanto o SQLFetch ou SQLFetchScroll usam o novo tamanho do conjunto de linhas.
A primeira fila do conjunto é a linha número 1. O argumento RowNumber no SQLSetPos deve identificar uma linha no conjunto de linhas; ou seja, o seu valor deve estar no intervalo entre 1 e o número de linhas que foram mais recentemente buscadas (que pode ser menor que o tamanho do conjunto de linhas). Se RowNumber for 0, a operação aplica-se a todas as linhas do conjunto de linhas.
Como a maior parte da interação com bases de dados relacionais é feita através de SQL, o SQLSetPos não é amplamente suportado. No entanto, um driver pode facilmente emulá-lo construindo e executando uma instrução UPDATE ou DELETE .
Para determinar que operações suporta o SQLSetPos, uma aplicação chama SQLGetInfo com as opções de informação SQL_DYNAMIC_CURSOR_ATTRIBUTES1, SQL_FORWARD_ONLY_CURSOR_ATTRIBUTES1, SQL_KEYSET_CURSOR_ATTRIBUTES1 ou SQL_STATIC_CURSOR_ATTRIBUTES1 (dependendo do tipo de cursor).
Esta seção contém os seguintes tópicos.