Compartir a través de


Recorrer un conjunto de filas simple

En el ejemplo siguiente se muestra el acceso rápido y sencillo a la base de datos que no implica comandos. El código de consumidor siguiente, en un proyecto ATL, recupera registros de una tabla denominada Artists en una base de datos de Microsoft Access mediante el proveedor OLE DB de Microsoft para ODBC. El código crea un objeto de tabla CTable con un descriptor de acceso basado en la clase de registro de usuario CArtists. Abre una conexión, abre una sesión en la conexión y abre la tabla de la sesión.

#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;
}

El registro de usuario, CArtists, tiene este aspecto:

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

Consulte también

Trabajar con plantillas de consumidor OLE DB