CDaoQueryDef

Um objeto de CDaoQueryDef representa uma definição de consulta, ou "definiçãodeconsulta," normalmente um salvo em um banco de dados. Uma definiçãodeconsulta é um objeto de dados do access que contém a instrução SQL que descreve uma consulta e suas propriedades, tais como "Data de criação" e "Tempo limite ODBC." Você também pode criar objetos de definiçãodeconsulta temporário sem salvá-las, mas é conveniente — e muito mais eficiente — salvar normalmente reutilizado consultas em um banco de dados. Um objeto de CDaoDatabase mantém uma coleção, chamada coleção QueryDefs, que contém seu querydefs salvo.

&Notanbsp;  As classes de banco de dados DAO são diferentes das classes de banco de dados MFC com base em Open Database Connectivity (ODBC). Todos os nomes de classe de banco de dados DAO têm o prefixo "CDao". Você ainda pode acessar fontes de dados ODBC com as classes DAO. Em geral, as classes do MFC com base em DAO são mais capazes do que as classes do MFC com base em ODBC; as classes com base em DAO podem acessar dados, nomeadamente através de drivers ODBC, através de seu próprio mecanismo de banco de dados. As classes com base em DAO também oferece suporte a operações de linguagem de definição de dados (DDL), tais como adicionar tabelas por meio de classes, sem ter que chamar o DAO diretamente.

Utilização

Use objetos querydef quer trabalhar com uma consulta salva existente ou criar um novo salva consulta ou consulta temporária:

  1. Em todos os casos, primeiro crie um objeto CDaoQueryDef , fornecendo um ponteiro para o objeto de CDaoDatabase ao qual pertence a consulta.

  2. Em seguida, faça o seguinte, dependendo do que você quer:
    • Para usar uma consulta salva, chame função de membro Abrir do objeto definiçãodeconsulta, fornecendo o nome da consulta salva.

    • Para criar uma Novo consulta salva, chame função de membro Create do objeto definiçãodeconsulta, fornecendo o nome da consulta. Em seguida, chame acrescentar para salvar a consulta anexando-o à coleção de QueryDefs do banco de dados. Criar coloca a definiçãodeconsulta em um estado aberto, portanto, após a chamada criar não chame Abrir.

    • Para criar uma definiçãodeconsulta temporária, chame criar. Passe uma vazia Cadeia de caracteres para o nome da consulta. Não chame acrescentar.

Quando você concluir usando um objeto definiçãodeconsulta, chamar a função de membro de Fechar ; em seguida, destruir o objeto querydef.

Dica   A maneira mais fácil para criar consultas salvas é criá-los e armazená-los em seu banco de dados usando o Microsoft Access. Em seguida, você pode abrir e usá-los em seu código MFC.

Efeitos

Você pode usar um objeto definiçãodeconsulta para qualquer um dos seguintes efeitos:

Você pode usar um objeto definiçãodeconsulta para qualquer tipo de consulta, incluindo select, ação, tabela de referência cruzada, excluir, atualizar, acrescentar, criar tabela, definição de dados, SQL pass-through, União e em massa de consultas. Tipo de consulta é determinado pelo conteúdo da instrução SQL que você fornecer. Para obter informações sobre tipos de consulta, consulte os executar e GetType funções de membro. Conjuntos de registros são comumente usados para linha retornando consultas, normalmente aqueles que utilizam o SELECT... DE palavras-chave. Execute é mais comumente usado para operações em massa. Para obter mais informações, consulte executar e CDaoRecordset.

QueryDefs e conjuntos de registros

Para usar um objeto definiçãodeconsulta para criar um objeto de CDaoRecordset , você normalmente cria ou abre uma definiçãodeconsulta conforme descrito acima. Em seguida, construa um objeto recordset, passar um ponteiro para o objeto definiçãodeconsulta quando você chamar CDaoRecordset:: AAbrir. A definiçãodeconsulta que você passar deve estar em um Abrir estado. Para obter mais informações, consulte classe CDaoRecordset.

Você não pode usar uma definiçãodeconsulta para criar um conjunto de registros (o uso mais comum para um definiçãodeconsulta) a menos que seja em um Abrir estado. Colocar a definiçãodeconsulta em um estado aberto por chamar Abrir ou criar.

Bancos de dados externos

Definiçãodeconsulta objetos são a maneira preferencial para usar o dialeto SQL nativo de um mecanismo de banco de dados externo. Por exemplo, você pode criar uma consulta Transact SQL (como o usado no Microsoft SQL Server) e armazená-lo em um objeto querydef. Quando você precisa usar uma consulta SQL não baseada no mecanismo de banco de dados do Microsoft Jet, você deve fornecer uma seqüência de conexão que aponta para o fonte de dados externa. Consultas com válido conectar-se seqüências de caracteres ignorar o mecanismo de banco de dados e passam a consulta diretamente para o servidor de banco de dados externo para processamento.

Dica   A maneira preferencial para trabalhar com tabelas ODBC é anexá-las a um Microsoft Jet (.Banco de dados MDB). Para obter mais informações, consulte o artigo DAO externo: trabalhando com fontes de dados externas no Guia do programador do Visual C++.

Para obter mais informações sobre querydefs, consulte o artigo DAO definiçãodeconsulta no Guia do programador do Visual C++. Para obter informações relacionadas, consulte os tópicos "Objeto QueryDef", "Coleção QueryDefs" e "Acesso externo bancos de dados com DAO" na Ajuda do DAO.

# include lt;afxdao.h>

Membros da classeClasse base | Gráfico de hierarquia

&Nbsp amostras; MFC exemplo DAOVIEW | MFC exemplo DAOTABLE

Co&nsulte tambémnbsp;CDaoRecordset, CDaoDatabase, CDaoTableDef, CDaoException

Index