conjunto de registros: Indicadores e posições absolutas (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.Um registro indicador e posição absoluta fornecem dois desses métodos.
Este tópico explica:
Como usar marcadores.
Como conjunto o registro corrente usar posições absolutas.
Indicadores de ODBC do MFC
Um indicador identifica exclusivamente um registro.Quando você navega por meio de um conjunto de registros, você não pode confiar na posição absoluta de um registro pois registros podem ser excluídos do conjunto de registros.De maneira confiável para controlar a posição de um registro é usar seu indicador. De classeCRecordset fornece funções de membro para:
Obtendo o indicador do registro corrente, portanto, você pode salvá-lo em uma variável (GetBookmark).
Mover rapidamente para um determinado registro especificando seu indicador, o que foi salvo anteriormente em uma variável (SetBookmark).
O exemplo a seguir ilustra como usar essas funções de membro para marcar o registro corrente 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 );
Não é necessário extrair o tipo de dados do Classe CDBVariant objeto. Atribuir o valor de GetBookmark e voltar para esse indicador com SetBookmark.
Observação: |
---|
Dependendo do seu driver de ODBC e o tipo de conjunto de registros, boo kmarks talvez não tenham suporte.com com facilidade você pode determinar 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 de a CRecordset::AAbrir 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 Repetir a consulta um conjunto de registros, marcadores podem não ser válido. De telefonarCDatabase::GetBookmarkPersistence Para verificar se é possível chamar com segurança SetBookmark. |
Posições absolutas em ODBC do MFC
Além dos indicadores, classe CRecordset permite que você defina o registro corrente especificando uma posição ordinal. Isso é chamado de posicionamento absoluto.
Observação: |
---|
Posicionamento absoluto não está disponível em conjuntos de registros somente de encaminhar.Para obter mais informações sobre conjuntos de registros somente de encaminhar, consulte conjunto de registros (ODBC). |
Para mover o registro corrente ponteiro usando posição absoluta, telefonar CRecordset::SetAbsolutePosition. Quando você passar um valor para SetAbsolutePosition, o registro correspondente para essa posição ordinal se torna o registro corrente.
Observação: |
---|
A posição absoluta de um registro é potencialmente não confiável.Se o usuário exclui registros do conjunto de registros, a posição ordinal de qualquer registro subseqüente será alterada.Indicadores são o método recomendado para movin o registro corrente g..Para obter mais informações, consulte Indicadores de ODBC do MFC. |
Para obter mais informações sobre navegação do conjunto de registros, consulte conjunto de registros: Rolagem (ODBC).