Cet exemple émet une simple requête paramétrée qui récupère les enregistrements avec un champ d'âge (ce qui est supérieur à 30) d'une table dans une base de données Microsoft Access. À l'appui du paramètre, le dossier utilisateur doit avoir une carte supplémentaire. Le code utilise la classe CCommand au lieu de la classe CTable utilisée dans l'exemple précédent, parcours d'un jeu de lignes Simple.
# include lt;atldbcli.h >
Connexion CDataSource ;
CSession session ;
CCommand < CAccessor <CArtists> > artistes ;
connexion.Ouvert (CLSID_MSDASQL, « NWind », « sa », "") ;
session.Open(Connection) ;
/ / Définissez le paramètre de la requête
Artists.m_nAge = 30 ;
artistes.Ouvert (session, « sélectionner * d'artistes où l'âge >? ») ;
/ / Récupération de données de l'ensemble de lignes
alors que (artistes.MoveNext() == S_OK)
{
COUT << artists.m_szFirstName ;
COUT << artists.m_szLastName ;
}
L'enregistrement de l'utilisateur, CArtists , ressemble à ceci:
classe CArtists
{
public :
/ / Éléments de données
CHAR m_szFirstName [20] ;
CHAR m_szLastName [30] ;
m_nAge courtes ;
/ / sortie carte de liaison
BEGIN_COLUMN_MAP(CArtists)
COLUMN_ENTRY (1, m_szFirstName)
COLUMN_ENTRY (2, m_szLastName)
COLUMN_ENTRY (3, m_nAge)
END_COLUMN_MAP()
/ / paramètre de liaison de carte
BEGIN_PARAM_MAP(CArtists)
COLUMN_ENTRY (1, m_nAge)
END_PARAM_MAP
}
Retour à des scénarios courants OLE DB consommation (exemples)