Freigeben über


ATL-OLE DB-Consumer-Assistent

Aktualisiert: November 2007

Mit diesem Assistenten wird eine OLE DB-Consumerklasse mit den Datenbindungen eingerichtet, die erforderlich sind, um über den jeweiligen OLE DB-Anbieter auf die angegebene Datenquelle zuzugreifen.

Hinweis:

Bevor Sie Namen in die Felder Class und .h-Datei eingeben können, müssen Sie in diesem Assistenten auf die Schaltfläche Datenquelle klicken, um eine Datenquelle auszuwählen.

  • Datenquelle
    Über die Schaltfläche Datenquelle können Sie die angegebene Datenquelle unter Verwendung des jeweiligen OLE DB-Anbieters einrichten. Durch Klicken auf diese Schaltfläche wird das Dialogfeld Datenverknüpfungseigenschaften geöffnet. Weitere Informationen zum Erstellen von Verbindungszeichenfolgen sowie zum Dialogfeld Datenverknüpfungseigenschaften finden Sie unter Data Link API Overview in der Windows SDK-Dokumentation.

    Hinweis:

    In früheren Versionen wurde durch Drücken der UMSCHALTTASTE und gleichzeitiges Klicken auf die Schaltfläche Datenquelle ein Dialogfeld zum Öffnen von Dateien geöffnet, in dem eine Datenverknüpfungsdatei (.udl) ausgewählt werden konnte. Diese Funktion wird nicht mehr unterstützt.

    Das Dialogfeld verfügt über vier Registerkarten:

    • Registerkarte Anbieter

    • Registerkarte Verbindung

    • Registerkarte Erweitert

    • Registerkarte Alle

  • Class
    Nach der Auswahl einer Datenquelle wird in dieses Feld ein Standardklassenname eingefügt, der auf der ausgewählten Tabelle oder gespeicherten Prozedur basiert (siehe Datenquelle auswählen weiter unten). Der Klassenname kann bearbeitet werden.

  • .h-Datei
    Nach der Auswahl einer Datenquelle wird in dieses Feld ein Name für die Standardheaderdatei eingefügt, der auf der ausgewählten Tabelle oder der ausgewählten gespeicherten Prozedur basiert (siehe Datenquelle auswählen weiter unten). Sie können den Namen der Headerdatei ändern oder eine bestehende Headerdatei auswählen.

  • Attributiert
    Durch diese Option wird festgelegt, ob der Assistent Consumerklassen unter Verwendung von Attributen oder von Vorlagendeklarationen erstellt. Bei Auswahl dieser Option verwendet der Assistent Attribute anstelle von Vorlagendeklarationen (Standardoption). Wird die Option deaktiviert, verwendet der Assistent Vorlagendeklarationen anstelle von Attributen.

    • Wenn Sie für Consumer den Typ Tabelle auswählen, verwendet der Assistent das db_source-Attribut und das db_table-Attribut, um die Deklarationen für die Tabellen- und Tabellenaccessorklasse zu erstellen, und verwendet db_column zum Erstellen der Spaltenzuordnung. Beispiel:

      // 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];
          ...
      

      anstatt die CTable-Vorlagenklasse zum Deklarieren der Tabellen- und Tabellenaccessorklasse und das BEGIN_COLUMN_MAP-Makro und das END_COLUMN_MAP-Makro zum Erstellen der Spaltenzuordnung zu verwenden. Beispiel:

      // 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()
      
    • Wenn Sie für Consumer den Typ Befehl auswählen, verwendet der Assistent das db_source-Attribut und das db_command-Attribut sowie db_column zum Erstellen der Spaltenzuordnung. Beispiel:

      [
          db_source("<initialization_string>"),
          db_command("SQL_command")
      ]
      ...
      // Column map using db_column is the same as for consumer type of 'table'
      

      anstatt die Deklarationen für die Befehls- und Befehlsaccessorklasse in der H-Datei der Befehlsklasse zu verwenden. Beispiel:

      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'
      

    Weitere Informationen finden Sie unter Basic Mechanics of Attributes.

  • Typ
    Aktivieren Sie eine dieser Optionsschaltflächen, um anzugeben, ob die Consumerklasse von CTable oder CCommand (Standard) abgeleitet wird.

    • Tabelle
      Wählen Sie diese Option, wenn CTable oder db_table verwendet werden soll, um die Deklarationen für die Tabellen- und Tabellenaccessorklasse zu erstellen.

    • Befehl
      Wählen Sie diese Option, wenn CCommand oder db_command verwendet werden soll, um die Deklarationen für die Befehls- und Befehlsaccessorklasse zu erstellen. Dies ist die Standardauswahl.

  • Unterstützung
    Aktivieren Sie die entsprechenden Kontrollkästchen, um die Aktualisierungsarten festzulegen, die im Consumer unterstützt werden sollen (standardmäßig wird keine Unterstützung aktiviert). Durch jede der folgenden Optionen werden DBPROP_IRowsetChange und die geeigneten Einträge für DBPROP_UPDATABILITY in der Eigenschaftenset-Zuordnung festgelegt.

    • Ändern
      Gibt an, dass der Consumer Aktualisierungen von Zeilendaten im Rowset unterstützt.

    • Einfügen
      Gibt an, dass der Consumer das Einfügen von Zeilen in das Rowset unterstützt.

    • Löschen
      Gibt an, dass der Consumer das Löschen von Zeilen aus dem Rowset unterstützt.

Siehe auch

Aufgaben

Hinzufügen eines ATL-OLE DB-Consumers

Konzepte

Hinzufügen neuer Funktionen mit Code-Assistenten

Referenz

Verbindungszeichenfolgen und Datenverknüpfungen (OLE DB)