Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Not
ATL OLE DB Tüketici sihirbazı Visual Studio 2019 ve sonraki sürümlerde kullanılamaz. yine de işlevselliği el ile ekleyebilirsiniz. Daha fazla bilgi için bkz . Sihirbaz Kullanmadan Tüketici Oluşturma.
Statik erişimci kullanmak için (yani, öğesinden CAccessortüretilen bir erişimci), tüketicinizin bir kullanıcı kaydı olmalıdır. Kullanıcı kaydı, girişi veya çıkışı işlemek için veri öğeleri içeren bir C++ sınıfıdır. ATL OLE DB Tüketici Sihirbazı, tüketiciniz için bir kullanıcı kaydı oluşturur. Komutları işleme gibi isteğe bağlı görevler için kullanıcı kaydına yöntemler ekleyebilirsiniz.
Aşağıdaki kod, komutları işleyen örnek bir kaydı gösterir. Kullanıcı kaydında, BEGIN_COLUMN_MAP bir sağlayıcıdan tüketiciye geçirilen bir veri satır kümesini temsil eder. BEGIN_PARAM_MAP bir dizi komut parametresini temsil eder. Bu örnekte komut parametrelerini işlemek için bir CCommand sınıfı kullanılır. Eşleme girişlerindeki veri üyeleri, sınıfın her örneği için bir bitişik bellek bloğuna uzaklıkları temsil eder. COLUMN_ENTRY makroları, sağlayıcı tarafındaki PROVIDER_COLUMN_ENTRY makrolara karşılık gelir.
COLUMN_MAP ve PARAM_MAP makroları hakkında daha fazla bilgi için bkz . OLE DB Tüketici Şablonları için Makrolar.
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()
// Parameter binding map
BEGIN_PARAM_MAP(CArtists)
COLUMN_ENTRY(1, m_nAge)
END_PARAM_MAP()
};
Sihirbaz Tarafından Oluşturulan Kullanıcı Kayıtları
Tüketici oluşturmak için ATL OLE DB Tüketici Sihirbazı'nı kullanırsanız, OLE DB Şablonlarını veya OLE DB Özniteliklerini kullanma seçeneğiniz vardır. Oluşturulan kod her durumda farklıdır. Bu kod hakkında daha fazla bilgi için bkz . Tüketici Sihirbazı Tarafından Oluşturulan Sınıflar.
Birden Çok Erişimci için Kullanıcı Kaydı Desteği
Birden çok erişimci kullanmanız gereken senaryoların ayrıntılı bir tartışması için bkz . Satır Kümesinde Birden Çok Erişimci Kullanma.
Aşağıdaki örnekte satır kümesinde birden çok erişimciyi desteklemek için değiştirilen kullanıcı kaydı gösterilmektedir. BEGIN_COLUMN_MAP ve END_COLUMN_MAP yerine her erişimci için BEGIN_ACCESSOR_MAP ve BEGIN_ACCESSOR kullanır. BEGIN_ACCESSOR makro, erişimci numarasını (sıfırdan uzaklık) ve erişimcinin otomatik erişimci olup olmadığını belirtir. Otomatik erişenler, MoveNext çağrısında verileri otomatik olarak almak için çağırırGetData. Otomatik olmayan erişimciler, verileri açıkça almanızı gerektirir. Her kayıt için almak istemediğiniz büyük bir veri alanına (bit eşlem görüntüsü gibi) bağlıysanız, otomatik olmayan bir erişimci kullanın.
class CMultiArtists
{
public:
// Data Elements
CHAR m_szFirstName[20];
CHAR m_szLastName[30];
short m_nAge;
// Column binding map
BEGIN_ACCESSOR_MAP(CMultiArtists, 2)
BEGIN_ACCESSOR(0, true) // true specifies an auto accessor
COLUMN_ENTRY(1, m_szFirstName)
COLUMN_ENTRY(2, m_szLastName)
END_ACCESSOR()
BEGIN_ACCESSOR(1, false) // false specifies a manual accessor
COLUMN_ENTRY(3, m_nAge)
END_ACCESSOR()
END_ACCESSOR_MAP()
};