Freigeben über


Durchlaufen eines einfachen Rowsets

Aktualisiert: November 2007

Im folgenden Beispiel sehen Sie eine schnelle und einfache Art des Datenbankzugriffs, die ohne Befehle auskommt. Der folgende Consumercode in einem ATL-Projekt ruft Datensätze aus einer Tabelle mit der Bezeichnung Künstler ab, die Teil einer Microsoft Access-Datenbank ist. Hierzu wird der Microsoft-OLE DB-Anbieter für ODBC verwendet. Der Code erstellt ein CTable-Tabellenobjekt mit einem Accessor, der auf der Benutzerdatensatz-Klasse CArtists basiert. Er öffnet eine Verbindung, eine Sitzung über die Verbindung sowie die Tabelle in der Sitzung.

#include <atldbcli.h>

CDataSource connection;
CSession session;
CTable<CAccessor<CArtists> > artists;

// Open the connection, session, and table, specifying authentication 
// using Windows NT integrated security. Hard-coding a password is a major
// security weakness.
connection.Open(CLSID_MSDASQL, "NWind", NULL, NULL, 
DBPROP_AUTH_INTEGRATED);
session.Open(connection);
artists.Open(session, "Artists");
 
// Get data from the rowset
while (artists.MoveNext() == S_OK)
{
   cout << artists.m_szFirstName;
   cout << artists.m_szLastName;
}

Der Benutzerdatensatz CArtists sieht wie folgt aus:

class CArtists
{
public:
// Data Elements
   CHAR m_szFirstName[20];
   CHAR m_szLastName[30];
   short m_nAge;
 
// Column binding map
BEGIN_COLUMN_MAP(CArtists)
   COLUMN_ENTRY(1, m_szFirstName)
   COLUMN_ENTRY(2, m_szLastName)
   COLUMN_ENTRY(3, m_nAge)
END_COLUMN_MAP()

Siehe auch

Referenz

Arbeiten mit OLE DB-Consumervorlagen