Statik bir erişimci kullanmak için tüketici bir kullanıcı kaydı olması gerekir. Kullanıcı kaydını tanıtıcısı girdi veya çıktı için veri öğelerini içeren bir c++ sınıfıdır. atl nesne sihirbaz, tüketici için bir kullanıcı kaydı oluşturur. Komut işleme gibi isteğe bağlı görevler için kullanıcı kayıt yöntemleri ekleyebilirsiniz.
Aşağıdaki kod komutlarını işleme bir örnek kaydı gösterir. Kullanıcı kaydında, BEGIN_OLUMN_MAP bir sağlayıcıdan tüketiciye iletilen veri satır kümesi temsil eder. BEGIN_PARAM_MAP komut parametreleri kümesini temsil eder. Bu örnek, komut parametreleri işlemek için bir CCommand sınıfı kullanır. Sınıfın her örneği için bellek ardışık bloğu içine uzaklıklar eşleme girdilerini veri üyeleri temsil eder. column_entry makroları PROVIDER_COLUMN_ENTRY makroları sağlayıcı tarafında karşılık gelen.
column_map ve param_map makrolar hakkında daha fazla bilgi için bkz: ole db tüketici şablonların makroları.
sınıf CArtists
{
public:
/ / Veri öğeleri
char m_szFirstName [20];
char m_szLastName [30];
kısa m_nAge;
/ / Çıkış bağlama göster
BEGIN_COLUMN_MAP(CArtists)
column_entry (1, m_szFirstName)
column_entry (2, m_szLastName)
column_entry (3, m_nAge)
END_COLUMN_MAP()
/ / parametre bağlama göster
BEGIN_PARAM_MAP(CArtists)
column_entry (1, m_nAge)
END_PARAM_MAP
}
Aşağıdaki örnek, satır kümesi üzerinde birden çok erişimcileri destek olarak kullanıcı kaydı gösterir. BEGIN_COLUMN_MAP ve end_column_mapyerine, BEGIN_ACCESSOR_MAP ve BEGIN_ACCESSOR her erişeni için kullanır. BEGIN_ACCESSOR makro erişimci sayısını (sıfır ofset) ve erişeni bir autoaccessor olup olmadığını belirtir. MoveNextçağrısı verileri otomatik olarak almasını GetData Autoaccessors diyoruz. Sigara-otomatik erişimcileri açıkça veri almak gerekir. -Otomatik erişeni için alınacak her kayıt için yararlı olabilir değil büyük veri alanı (gibi bir bitmap görüntüsü) bağlıyorsanız kullanın.
sınıf CMultiArtists
{
public:
/ / Veri öğeleri
char m_szFirstName [20];
char m_szLastName [30];
kısa m_nAge;
/ / Çıkış bağlama göster
BEGIN_ACCESSOR_MAP (CMultiArtists, 2)
BEGIN_ACCESSOR (0, true)
column_entry (1, m_szFirstName)
column_entry (2, m_szLastName)
END_ACCESSOR()
BEGIN_ACCESSOR (1, false) / / auto erişenine
column_entry (3, m_nAge)
END_ACCESSOR()
END_ACCESSOR_MAP()
}