Partager via


Parcours d'un jeu de lignes simple

L’exemple suivant montre un accès rapide et facile à la base de données qui n’implique pas de commandes. Le code consommateur suivant, dans un projet ATL, récupère les enregistrements d’une table appelée Artistes dans une base de données Microsoft Access à l’aide du fournisseur Microsoft OLE DB pour ODBC. Le code crée un objet table CTable avec un accesseur basé sur la classe CArtistsd’enregistrement utilisateur. Il ouvre une connexion, ouvre une session sur la connexion et ouvre la table de la session.

#include <atldbcli.h>
#include <iostream>

using namespace std;

int main()
{
    CDataSource connection;
    CSession session;
    CTable<CAccessor<CArtists>> artists;

    LPCSTR clsid; // Initialize CLSID_MSDASQL here
    LPCTSTR pName = L"NWind";

    // 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, pName, 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;
    }

    return 0;
}

L’enregistrement utilisateur, CArtistsressemble à cet exemple :

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()
};

Voir aussi

Utilisation des modèles du consommateur OLE DB