Creazione guidata consumer OLE DB ATL
Aggiornamento: novembre 2007
È possibile utilizzare questa procedura guidata per impostare una classe consumer OLE DB con le associazioni dati necessarie ad accedere all'origine dati specificata tramite il provider OLE DB specificato.
Nota: |
---|
Prima di immettere i nomi nelle caselle Class e File .h è necessario fare clic sul pulsante Origine dati per selezionare un'origine dati. |
Origine dati
È possibile utilizzare il pulsante Origine dati per impostare l'origine dati specificata mediante il provider OLE DB specificato. Quando si fa clic su questo pulsante, viene visualizzata la finestre delle proprietà Data Link. Per ulteriori informazioni sulla compilazione delle stringhe di connessione e sulla finestra di dialogo delle Proprietà di collegamento dati, vedere Cenni preliminari sull'API di collegamento dati nella documentazione relativa a Windows SDK.Nota: Nelle versioni precedenti era possibile fare clic sul pulsante Origine dati tenendo premuto MAIUSC per visualizzare una finestra Apri file in cui selezionare un file di Data Link (UDL). Questa funzionalità non è più supportata.
Nella finestra di dialogo sono disponibili quattro schede:
Scheda Provider
Scheda Connessione
Scheda Avanzate
Scheda Tutte
Class
Dopo la selezione di un'origine dati, nella casella viene inserito un nome di classe predefinito basato sulla tabella o sulla stored procedure selezionata (vedere la sezione relativa alla selezione di un'origine dati, più avanti). È possibile modificare il nome della classe.File H
Dopo la selezione di un'origine dati, nella casella viene inserito un nome di classe di intestazione predefinito basato sulla tabella o sulla stored procedure selezionata (vedere la sezione relativa alla selezione di un'origine dati, più avanti). È possibile modificare il nome del file di intestazione o selezionarne uno esistente.Con attributi
Utilizzare questa opzione per specificare se la procedura guidata creerà classi consumer mediante gli attributi o le dichiarazioni di template. Se si seleziona questa opzione, nella procedura guidata verranno utilizzati gli attributi invece delle dichiarazioni di template. Per impostazione predefinita, l'opzione è selezionata. Se si deseleziona questa opzione, verranno utilizzate le dichiarazioni di template invece degli attributi.Se viene selezionato un Tipo di tabella per il consumer, la procedura guidata utilizza gli attributi db_source e db_table per creare la tabella e le dichiarazioni di classe della funzione di accesso della tabella e utilizza db_column per creare la mappa delle colonne, ad esempio:
// Inject table class and table accessor class declarations [ db_source("<initialization_string>"), db_table("dbo.Orders") ] ... // Column map [ db_column(1, status=m_dwOrderIDStatus, length=m_dwOrderIDLength) ] LONG m_OrderID; [ db_column(2, status=m_dwCustomerIDStatus, length=m_dwCustomerIDLength) ] TCHAR m_CustomerID[6]; ...
anziché utilizzare la classe di modello CTable per dichiarare la tabella e la classe della funzione di accesso della tabella e le macro BEGIN_COLUMN_MAP e END_COLUMN_MAP per creare la mappa di colonne, ad esempio:
// Table accessor class class COrdersAccessor; // Table class class COrders : public CTable<CAccessor<COrdersAccessor> >; ... // Column map BEGIN_COLUMN_MAP(COrderDetailsAccessor) COLUMN_ENTRY_LENGTH_STATUS(1, m_OrderID, m_dwOrderIDLength, m_dwOrderIDStatus) COLUMN_ENTRY_LENGTH_STATUS(2, m_CustomerID, m_dwCustomerIDLength, m_dwCustomerIDStatus) ... END_COLUMN_MAP()
Se viene selezionato un Tipo di comando per il consumer, la procedura guidata utilizza gli attributi db_source e db_command e utilizza db_column per creare la mappa delle colonne, ad esempio:
[ db_source("<initialization_string>"), db_command("SQL_command") ] ... // Column map using db_column is the same as for consumer type of 'table'
anziché utilizzare il comando e le dichiarazioni di classe della funzione di accesso nel file .h della classe di comando, ad esempio:
Command accessor class: class CListOrdersAccessor; Command class: class CListOrders : public CCommand<CAccessor<CListOrdersAccessor> >; ... // Column map using BEGIN_COLUMN_MAP ... END_COLUMN_MAP is the same as // for consumer type of 'table'
Per ulteriori informazioni, vedere Basic Mechanics of Attributes.
Tipo
Scegliere uno di questi pulsanti di opzione per specificare se la classe consumer verrà derivata da CTable o CCommand (valore predefinito).Tabella
Selezionare questa opzione se si desidera utilizzare CTable o db_table per creare le dichiarazioni delle classi table e table accessor.Comando
Selezionare questa opzione se si desidera utilizzare CCommand o db_command per creare le dichiarazioni delle classi command e command accessor. È l'opzione predefinita.
Supporto
Selezionare le caselle di controllo appropriate per specificare i tipi di aggiornamento supportati nel consumer. Per impostazione predefinita, non è selezionato alcun tipo di aggiornamento. Ciascuna delle opzioni seguenti imposterà DBPROP_IRowsetChange e le voci appropriate per DBPROP_UPDATABILITY nella mappa dell'insieme di proprietà.Modifica
Utilizzare questa opzione per specificare che il consumer supporta gli aggiornamenti dei dati di riga nel rowset.Inserisci
Utilizzare questa opzione per specificare che il consumer supporta l'inserimento di righe nel rowset.Elimina
Utilizzare questa opzione per specificare che il consumer supporta l'eliminazione di righe dal rowset.
Vedere anche
Attività
Aggiunta di un consumer OLE DB ATL
Concetti
Aggiunta di funzionalità con creazioni guidate codice