Emitir una consulta parametrizada

Este ejemplo emite una simple consulta parametrizada que recupera registros con un campo de edad (que es mayor de 30) de una tabla en una base de datos de Microsoft Access. Para apoyar el parámetro, el registro de usuario debe tener un mapa adicional. El código utiliza la clase CCommand en lugar de la clase CTable utilizada en el ejemplo anterior, atravesando un Simple conjunto de filas.

# include lt;atldbcli.h >

CDataSource conexión;
CSession período de sesiones;
CCommand < CAccessor <CArtists> > artistas;
 
conexión.Abierto (CLSID_MSDASQL, "Neptuno", "sa", "");
período de sesiones.Open(Connection);
 
/ / Establecer el parámetro de la consulta
Artists.m_nAge = 30;
artistas.Abierto (período de sesiones, "seleccionar * de artistas donde mayores >?");
 
/ / Obtener datos de filas
mientras (artistas.MoveNext() == S_OK)
{
   Cout << artists.m_szFirstName;
   Cout << artists.m_szLastName;
}

El registro de usuario, CArtists , parece esto:

clase CArtists
{
público:
/ / Elementos de datos
   CHAR m_szFirstName [20];
   CHAR m_szLastName [30];
   m_nAge corto;
 
/ / Mapa de enlace de salida
BEGIN_COLUMN_MAP(CArtists)
   COLUMN_ENTRY (1, m_szFirstName)
   COLUMN_ENTRY (2, m_szLastName)
   COLUMN_ENTRY (3, m_nAge)
END_COLUMN_MAP()
 
/ / parámetro vinculante mapa
BEGIN_PARAM_MAP(CArtists)
   COLUMN_ENTRY (1, m_nAge)
END_PARAM_MAP
}

Volver a los escenarios comunes de consumidor DB OLE (ejemplos)

Index