Aksesor dan Set Baris
Untuk mengatur dan mengambil data, Templat OLE DB menggunakan aksesor dan set baris melalui kelas CAccessorRowset . Kelas ini dapat menangani beberapa aksesor dari berbagai jenis.
Tipe Aksesor
Semua aksesor berasal dari CAccessorBase. CAccessorBase
menyediakan pengikatan parameter dan kolom.
Gambar berikut menunjukkan jenis aksesor.
Kelas Aksesor
CAccessor Gunakan aksesor ini saat Anda mengetahui struktur sumber database pada waktu desain.
CAccessor
secara statis mengikat rekaman database, yang berisi buffer, ke sumber data.CDynamicAccessor Gunakan aksesor ini saat Anda tidak mengetahui struktur database pada waktu desain.
CDynamicAccessor
IColumnsInfo::GetColumnInfo
panggilan untuk mendapatkan informasi kolom database. Ini membuat dan mengelola aksesor dan buffer.CDynamicParameterAccessor Gunakan aksesor ini untuk menangani jenis perintah yang tidak diketahui. Saat Anda menyiapkan perintah,
CDynamicParameterAccessor
bisa mendapatkan informasi parameter dariICommandWithParameters
antarmuka, jika penyedia mendukungICommandWithParameters
.CDynamicStringAccessor, CDynamicStringAccessorA, dan CDynamicStringAccessorW Gunakan kelas ini ketika Anda tidak memiliki pengetahuan tentang skema database.
CDynamicStringAccessorA
mengambil data sebagai string ANSI;CDynamicStringAccessorW
mengambil data sebagai string Unicode.CManualAccessor Dengan kelas ini, Anda dapat menggunakan jenis data apa pun yang Anda inginkan jika penyedia dapat mengonversi jenisnya. Ini menangani kolom hasil dan parameter perintah.
Tabel berikut ini meringkas dukungan dalam jenis aksesor Templat OLE DB.
Jenis aksesor | Dinamis | Menangani param | Buffer | Beberapa aksesor |
---|---|---|---|---|
CAccessor |
Tidak | Ya | Pengguna | Ya |
CDynamicAccessor |
Ya | Tidak | Templat OLE DB | Tidak |
CDynamicParameterAccessor |
Ya | Ya | Templat OLE DB | Tidak |
CDynamicStringAccessor[A,W] |
Ya | Tidak | Templat OLE DB | Tidak |
CManualAccessor |
Ya | Ya | Pengguna | Ya |
Jenis Set Baris
Templat OLE DB mendukung tiga jenis set baris (lihat gambar sebelumnya): set baris tunggal (diimplementasikan oleh CRowset), set baris massal (diimplementasikan oleh CBulkRowset), dan kumpulan baris array (diimplementasikan oleh CArrayRowset). Satu set baris mengambil handel baris tunggal saat MoveNext
dipanggil. Himpunan baris massal dapat mengambil beberapa handel baris. Kumpulan baris array adalah set baris yang dapat diakses menggunakan sintaks array.
Gambar berikut menunjukkan jenis set baris.
Kelas Set Baris
Himpunan baris skema tidak mengakses data di penyimpanan data tetapi sebaliknya mengakses informasi tentang penyimpanan data, yang disebut metadata. Kumpulan baris skema biasanya digunakan dalam situasi di mana struktur database tidak diketahui pada waktu kompilasi dan harus diperoleh pada waktu proses.