단순 행 집합 검색

다음 예제에서는 명령을 포함하지 않는 빠르고 쉬운 데이터베이스 액세스를 보여 줍니다. ATL 프로젝트의 다음 소비자 코드는 Microsoft OLE DB Provider for ODBC를 사용하여 Microsoft Access 데이터베이스의 Artists라는 테이블에서 레코드를 검색합니다. 이 코드는 사용자 레코드 클래스CArtists를 기반으로 접근자를 사용하여 CTable 테이블 개체를 만듭니다. 연결을 열고, 연결에서 세션을 열고, 세션에서 테이블을 엽니다.

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

사용자 레코드 CArtists는 다음 예제와 같습니다.

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

참고 항목

OLE DB 소비자 템플릿 작업