Recordset: Indicadores e absolutas posições (ODBC)

Este tópico se aplica a classes MFC ODBC.

Ao navegar através de um conjunto de registros, você freqüentemente precisa de uma maneira de retornar a um determinado registro.Indicador de um registro e posição absoluta fornecem dois desses métodos.

Este tópico explica:

  • Como usar marcadores.

  • Como definir o registro atual usando absolutas posições.

Indicadores de ODBC do MFC

Um indicador identifica exclusivamente um registro.Ao navegar em um conjunto de registros, você não pode sempre depender posição absoluta de um registro porque registros podem ser excluídos do conjunto de registros.A maneira confiável para controlar a posição de um registro é usar seu indicador.Classe CRecordset fornece funções de membro para:

  • Obtendo o indicador do registro atual, portanto, você pode salvá-lo em uma variável (GetBookmark).

  • Mover rapidamente para um determinado registro especificando seu indicador, salvo anteriormente em uma variável (SetBookmark).

O exemplo a seguir ilustra como usar essas funções de membro para marcar o registro atual e retornar mais tarde:

// rs is a CRecordset or
// CRecordset-derived object

CDBVariant varRecordToReturnTo;
rs.GetBookmark( varRecordToReturnTo );

// More code in which you
// move to other records

rs.SetBookmark( varRecordToReturnTo );

Você não precisa extrair o tipo de dados da Classe CDBVariant objeto.Atribuir o valor com GetBookmark e retornar a esse indicador com SetBookmark.

ObservaçãoObservação

Dependendo do driver ODBC e o tipo de conjunto de registros, indicadores podem não ser suportados.Você poderá determinar facilmente se há suporte para indicadores chamando CRecordset::CanBookmark.Além disso, se houver suporte para indicadores, você deve explicitamente optar implementá-las especificando o CRecordset::useBookmarks opção do CRecordset::Open função de membro.Você também deve verificar a persistência de indicadores após determinadas operações de conjunto de registros.Por exemplo, se você Requery um conjunto de registros, indicadores talvez não seja válidos.Chamar CDatabase::GetBookmarkPersistence para verificar se você pode chamar com segurança SetBookmark.

Posições absolutas de ODBC do MFC

Além de indicadores, classe CRecordset permite que você defina o registro atual especificando uma posição ordinal.Isso é chamado de posicionamento absoluto.

ObservaçãoObservação

Posicionamento absoluto não está disponível em conjuntos de registros somente de encaminhamento.Para obter mais informações sobre conjuntos de registros somente de encaminhamento, consulte Conjunto de registros (ODBC).

Para mover o ponteiro do registro atual usando posição absoluta, chamada CRecordset::SetAbsolutePosition.Quando você passar um valor para SetAbsolutePosition, o registro correspondente à posição ordinal torna-se o registro atual.

ObservaçãoObservação

Posição absoluta de um registro é potencialmente não confiável.Se o usuário exclui registros do conjunto de registros, altera a posição ordinal de qualquer registro subseqüente.Os indicadores são o método recomendado para mover o registro atual.Para obter mais informações, consulte indicadores de ODBC do MFC.

Para obter mais informações sobre navegação do conjunto de registros, consulte Recordset: Rolagem (ODBC).

Consulte também

Conceitos

Conjunto de registros (ODBC)