Compartilhar via


Instantâneo

Um snapshot é um conjunto de registros reflete uma exibição estática dos dados como ele existia no momento em que o snapshot foi criado.Quando você abre o instantâneo e move para todos os registros, o conjunto de registros contém e seus valores não alteram até que reconstruir o snapshot chamando Requery.

ObservaçãoObservação

Este tópico se aplica a classes MFC ODBC.Se você estiver usando as classes MFC DAO em vez das classes MFC ODBC, consulte CDaoRecordset::Open para uma descrição dos conjuntos de registros do tipo snapshot.

Você pode criar instantâneos atualizáveis ou somente leitura com as classes de banco de dados.Ao contrário de um dynaset um instantâneo atualizável não refletirá as alterações feitas por outros usuários de valores de registro, mas ele refletir as atualizações e exclusões feitas pelo programa.Registros adicionados a um snapshot não se tornam visíveis ao snapshot até que você chamar Requery.

DicaDica

Um snapshot é um cursor estático do ODBC.Cursores estáticos não realmente obter uma linha de dados até que você rolar para esse registro.Para garantir que todos os registros são recuperados imediatamente, você pode rolar até o final do seu conjunto de registros e role para o primeiro registro que você deseja ver.No entanto, observe que rolar até o final envolve a sobrecarga extra e pode diminuir o desempenho.

Os instantâneos são mais valiosos quando precisar de dados permaneça fixa durante operações, como quando você está gerando um relatório ou executar cálculos.Mesmo assim, o fonte de dados pode divergem consideravelmente de snapshot, então você pode querer reconstruí-lo de vez em quando.

Suporte instantâneo é baseado em biblioteca de Cursor ODBC, que fornece Cursores estáticos e posicionado atualizações (necessárias para atualizabilidade) para qualquer driver de nível 1.A DLL de biblioteca de cursor deve ser carregado na memória para esse suporte.Quando você construir um CDatabase objeto e chamar seus OpenEx função de membro, você deve especificar o CDatabase::useCursorLib opção do dwOptions parâmetro.Se você chamar o Abrir função de membro, a biblioteca de cursor é carregada por padrão.Se você estiver usando dynasets em vez de instantâneos, não deseja fazer com que a biblioteca de cursor a ser carregado.

Snapshots estão disponíveis somente se a biblioteca de Cursor ODBC foi carregada quando o CDatabase objeto foi criado ou o driver ODBC que você está usando oferece suporte a Cursores estáticos.

ObservaçãoObservação

Para alguns drivers ODBC instantâneos (Cursores estáticos) podem não ser atualizáveis.Verifique a documentação do driver para tipos de cursor suportado e os tipos de simultaneidade que dão suporte.Para garantir a instantâneos atualizáveis, certifique-se de carregar a biblioteca de cursor na memória quando você cria um CDatabase objeto.Para obter mais informações, consulte ODBC: A biblioteca de Cursor ODBC.

ObservaçãoObservação

Se você quiser usar instantâneos e dynasets, deve baseá-las em duas diferentes CDatabase objetos (duas conexões diferentes).

Para obter mais informações sobre o compartilhamento de instantâneos de propriedades com todos os conjuntos de registros, consulte Recordset ((ODBC)).Para obter mais informações sobre ODBC e snapshots*,* inclusive a biblioteca de Cursor ODBC, consulte ODBC.

Consulte também

Conceitos

Open Database Connectivity (ODBC)