遍历简单行集合

以下示例演示了不涉及命令的快速简便的数据库访问。 下面的使用者代码(在 ATL 项目中)使用 Microsoft OLE DB Provider for ODBC 从 Microsoft Access 数据库中名为 Artists 的表中检索记录。 该代码创建一个 CTable 表对象,其访问器基于用户记录类 CArtists。 它打开一个连接,在连接上打开一个会话,然后在会话上打开表。

#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 使用者模板