往返簡單資料列集
下列範例顯示不涉及命令的快速且簡單的數據庫存取。 在 ATL 專案中,下列取用者程式代碼會使用 Microsoft Microsoft OLE DB Provider for ODBC,從名為 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()
};