CDaoQueryDef

Un oggetto CDaoQueryDef rappresenta una definizione della query, o "querydef", di solito uno salvato in un database. Un oggetto querydef è un oggetto di accesso ai dati che contiene l'istruzione SQL che descrive una query e le sue proprietà, come "Data di creazione" e "Timeout ODBC." È inoltre possibile creare oggetti querydef temporaneo senza salvare loro, ma è conveniente — e molto più efficiente — per salvare comunemente riutilizzato le query in un database. Un oggetto CDaoDatabase gestisce un insieme, chiamato la collezione di oggetti QueryDef, che contiene la sua querydefs salvato.

&Notanbsp;  Le classi di database DAO si distinguono dalle classi MFC database basate su Open Database Connectivity (ODBC). Tutti i nomi di classe di database DAO hanno il prefisso "CDao". È ancora possibile accesso origini di dati ODBC con le classi DAO. In generale, le classi MFC basate su DAO sono più capaci di classi MFC basate su ODBC; le classi basate su DAO possono accedere ai dati, anche attraverso i driver ODBC, tramite il proprio motore di database. Le classi basate su DAO inoltre supportano operazioni di Data Definition Language (DDL), ad esempio l'aggiunta di tabelle tramite le classi, senza dover chiamare direttamente DAO.

Utilizzo

Utilizzare gli oggetti querydef sia per lavorare con un salvato query esistente o per creare un nuovo salvato query o query temporanea:

  1. In tutti i casi, prima di costruire un oggetto CDaoQueryDef , fornendo un puntatore all'oggetto CDaoDatabase a cui appartiene la query.

  2. Quindi effettuare le seguenti operazioni, a seconda di ciò che si desidera:
    • Per utilizzare una query salvata esistente, chiamare aperto funzione membro dell'oggetto querydef, specificando il nome della query salvata.

    • Per creare una nuova query salvate, chiamare la funzione membro Create dell'oggetto querydef, specificando il nome della query. Quindi chiamare Append per salvare la query aggiungendo insieme QueryDefs del database. Create mette il querydef in uno stato aperto, quindi dopo la chiamata Crea non si chiama Open.

    • Per creare un oggetto querydef temporaneo, chiamare Create. Passare una stringa vuota per il nome della query. Non chiamare Append.

Quando hai finito di utilizzare un oggetto querydef, chiamare la funzione membro stretta ; poi distruggere l'oggetto querydef.

Suggerime&ntonbsp;  Il modo più semplice per creare query salvate è per crearli e archiviarli nel vostro database utilizzando Microsoft Access. Quindi è possibile aprire e utilizzarli nel codice MFC.

Scopi

È possibile utilizzare un oggetto querydef per uno qualsiasi dei seguenti fini:

È possibile utilizzare un oggetto querydef per qualsiasi tipo di query, inclusi i selezionare, azione, a campi incrociati, cancellazione, aggiornamento, accodamento, di creazione tabella, definizione dei dati, pass-through SQL, Unione e le query di massa. Tipo di query è determinata dal contenuto dell'istruzione SQL specificato. Per informazioni sui tipi di query, vedere le funzioni membro Execute e GetType . I recordset vengono comunemente utilizzati per la restituzione di righe interroga, di solito quelli che utilizzano il SELECT... DA Parole chiavi. Execute è più comunemente utilizzato per operazioni di massa. Per ulteriori informazioni, vedere Execute e CDaoRecordset.

Oggetti QueryDef e Recordset

Per utilizzare un oggetto querydef per creare un oggetto CDaoRecordset , in genere creare o aprire un oggetto querydef come descritto sopra. Quindi costruire un oggetto recordset, passando un puntatore all'oggetto querydef quando si chiama CDaoRecordset:: Open. Il querydef che è passare deve essere in uno stato aperto. Per ulteriori informazioni, vedere la classe CDaoRecordset.

È possibile utilizzare un oggetto querydef per creare un recordset (l'uso più comune per un oggetto querydef), a meno che non trova in uno stato aperto. Mettere il querydef in uno stato aperto chiamando aprire o Create.

Database esterni

QueryDef oggetti sono il modo migliore per utilizzare il dialetto SQL nativo di un motore di database esterni. Ad esempio, si può creare una query Transact SQL (come utilizzato su Microsoft SQL Server) e riporlo in un oggetto querydef. Quando avete bisogno di utilizzare una query SQL non basata sul motore di database Microsoft Jet, è necessario fornire una stringa di connessione che punta all'origine dati esterna. Le query con validi collegano stringhe tangenziale il motore di database e passano la query direttamente al server database esterno per l'elaborazione.

Suggerime&ntonbsp;  Il modo migliore per lavorare con tabelle ODBC è quello di allegarli a un Microsoft Jet (.Database MDB). Per ulteriori informazioni, vedere l'articolo DAO esterni: lavorare con origini dati esterne nel manuale del programmatore di Visual C++.

Per ulteriori informazioni sugli oggetti QueryDef, vedere l'articolo Querydef DAO nel manuale del programmatore di Visual C++. Per informazioni correlate, vedere gli argomenti "Oggetto QueryDef", "Insieme QueryDefs" e "L'accesso esterno dei database con DAO" nella guida di DAO.

# include lt;afxdao.h>

Membri della classeClasse base | Gerarchia Chart

Campio&ninbsp; Esempio MFC DAOVIEW | Esempio MFC DAOTABLE

Vedere a&nchenbsp;CDaoRecordset, CDaoDatabase, CDaoTableDef, CDaoException

Index