O conjunto de registros: Criando e fechamento de conjuntos de registros (ODBC)
Este tópico se aplica às classes MFC ODBC.
Para usar um conjunto de registros, construir um objeto recordset e chame seu Abrir a função de membro para executar a consulta do conjunto de registros e selecionar registros. Quando você terminar com o conjunto de registros, feche e destruir o objeto.
Este tópico explica:
Quando e como criar um objeto recordset.
Quando e como você pode qualificar o comportamento do conjunto de registros por parametrização, filtragem, classificação ou bloqueá-lo.
Quando e como fechar um objeto recordset.
A criação de conjuntos de registros em tempo de execução
Antes de criar objetos recordset em seu programa, você normalmente escrever classes de conjunto de registros específicos de aplicativos. Para obter mais informações sobre esta etapa preliminar, consulte a adição de um consumidor ODBC do MFC.
Abra um objeto dynaset ou snapshot quando você precisa selecionar registros de uma fonte de dados. O tipo de objeto para criar depende de você precisará fazer com os dados em seu aplicativo e seu driver de ODBC oferece suporte. Para obter mais informações, consulte Dynaset e instantâneo.
Para abrir um conjunto de registros.
Construir um objeto de sua CRecordset-derivada da classe.
Você pode construir o objeto na pilha ou no quadro de pilha de uma função.
Opcionalmente, modificar o comportamento do conjunto de registros padrão. Para as opções disponíveis, consulte Definindo opções de conjunto de registros.
Chamar o objeto Abrir a função de membro.
No construtor, passar um ponteiro para uma CDatabase objeto ou passagem Nulo para usar um emprego temporário de objeto de banco de dados que a estrutura constrói e abre com base na seqüência de caracteres de conexão retornada pelo GetDefaultConnect a função de membro. O CDatabase objeto talvez já esteja conectado a uma fonte de dados.
A chamada para Abrir usa SQL para selecionar registros da fonte de dados. O primeiro registro selecionado (se houver) é o registro atual. Os valores dos campos do registro são armazenados em membros de dados de campo do objeto recordset. Se todos os registros foram selecionados, tanto o IsBOF e IsEOF funções de membro retornam 0.
No seu Abrir chamada, você pode:
Especifique se o conjunto de registros é um dynaset ou instantâneo. Conjuntos de registros aberto como instantâneos, por padrão. Ou, você pode especificar um recordset somente de encaminhamento, que permite a rolagem somente para frente, um registro por vez.
Por padrão, um conjunto de registros usa o tipo de padrão armazenado na CRecordset o membro de dados m_nDefaultType. Assistentes de escrever código para inicializar m_nDefaultType para o tipo de conjunto de registros que você escolher no assistente. Em vez de aceitar esse padrão, você pode substituir outro tipo de recordset.
Especificar uma seqüência de caracteres para substituir o padrão SQL Selecionar instrução construções do conjunto de registros.
Especifique se o conjunto de registros é somente leitura ou somente de acrescentar. Conjuntos de registros permitem completos de atualização por padrão, mas você pode limitar que para adicionar novos registros somente ou proibir todas as atualizações.
O exemplo a seguir mostra como abrir um objeto de instantâneo só de leitura da classe CStudentSet, uma classe específica do aplicativo:
// Construct the snapshot object
CStudentSet rsStudent( NULL );
// Set options if desired, then open the recordset
if(!rsStudent.Open(CRecordset::snapshot, NULL, CRecordset::readOnly))
return FALSE;
// Use the snapshot to operate on its records...
Depois de chamar Abrir, use os membros de dados e funções de membro do objeto para trabalhar com registros. Em alguns casos, talvez você queira repetir a consulta ou atualizar o conjunto de registros para incluir as alterações que ocorreram na fonte de dados. Para obter mais informações, consulte Recordset: Repetindo a consulta de um conjunto de registros (ODBC).
Dica
A seqüência de conexão que você pode usar durante o desenvolvimento talvez não seja a mesma seqüência de conexão que precisam de seus usuários eventual. Para obter idéias sobre generalizar o seu aplicativo em relação a isso, consulte a fonte de dados: Gerenciando as conexões (ODBC).
Configurando opções de Recordset
Depois de construir o seu objeto recordset, mas antes de chamar Abrir para selecionar registros, você talvez queira definir algumas opções para controlar o comportamento do conjunto de registros. Para todos os conjuntos de registros, você pode:
Especificar um filtro para restringir a seleção de registro.
Especificar um classificação para que os registros.
Especificar parâmetros de para que você possa selecionar os registros usando informações obtidas ou calculado em tempo de execução.
Você também pode definir a opção a seguir, se as condições forem atendidas:
- Se o conjunto de registros é atualizável e oferece suporte a bloqueio de opções, especifique o bloqueio método usado para atualizar.
Observação |
---|
Para afetar a seleção de registro, você deve definir essas opções antes de chamar o Abrir a função de membro. |
Um conjunto de registros de fechamento.
Quando você terminar com seu conjunto de registros, você deve utilizadas e desalocar sua memória.
Para fechar um conjunto de registros.
Ligue para seu Fechar a função de membro.
Destrua o objeto recordset.
Se você o declarado na estrutura de pilhas de uma função, o objeto é destruído automaticamente quando o objeto sai do escopo. Caso contrário, use o Excluir operador.
Fechar libera o conjunto de registros HSTMT manipular. Ele não destrói o objeto C++.
Consulte também
Conceitos
O conjunto de registros (ODBC)
O conjunto de registros: Rolagem (ODBC)
O conjunto de registros: Adicionar, atualizar e excluir registros (ODBC)