Parcours d'un jeu de lignes simple
L'exemple suivant montre un accès rapide et simple à la base de données, qui ne met pas en œuvre des commandes. Le code de consommateur suivant, dans un projet ATL, récupère des enregistrements d'une table appelée Artists dans une base de données Microsoft Access en utilisant le fournisseur Microsoft OLE DB pour ODBC. Le code crée un objet de table CTable avec un accesseur reposant sur la classe d'enregistrement utilisateur CArtists. Il ouvre une connexion, ouvre une session sur la connexion, puis ouvre la table sur la session.
#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;
}
L'enregistrement utilisateur, CArtists, ressemble au texte suivant :
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()