Kelas CDynamicStringAccessor
Memungkinkan Anda mengakses sumber data saat Anda tidak memiliki pengetahuan tentang skema database (struktur dasar database).
Sintaks
template< typename BaseType, DBTYPEENUM OleDbType >
class CDynamicStringAccessorT : public CDynamicAccessor
Persyaratan
Header: atldbcli.h
Anggota
Metode
Nama | Deskripsi |
---|---|
GetString | Mengambil data kolom yang ditentukan sebagai string. |
SetString | Mengatur data kolom yang ditentukan sebagai string. |
Keterangan
Sementara CDynamicAccessor meminta data dalam format asli yang dilaporkan oleh penyedia, CDynamicStringAccessor
permintaan agar penyedia mengambil semua data yang diakses dari penyimpanan data sebagai data string. Ini sangat berguna untuk tugas sederhana yang tidak memerlukan perhitungan nilai di penyimpanan data, seperti menampilkan atau mencetak konten penyimpanan data.
Jenis data kolom asli di penyimpanan data tidak masalah; selama penyedia dapat mendukung konversi data, penyedia akan menyediakan data dalam format string. Jika penyedia tidak mendukung konversi dari jenis data asli ke string (yang tidak umum), panggilan yang meminta akan mengembalikan nilai keberhasilan DB_S_ERRORSOCCURED, dan status untuk kolom yang sesuai akan menunjukkan masalah konversi dengan DBSTATUS_E_CANTCONVERTVALUE.
Gunakan CDynamicStringAccessor
metode untuk mendapatkan informasi kolom. Anda menggunakan informasi kolom ini untuk membuat aksesor secara dinamis pada waktu proses.
Informasi kolom disimpan dalam buffer yang dibuat dan dikelola oleh kelas ini. Dapatkan data dari buffer menggunakan GetString, atau simpan ke buffer menggunakan SetString.
Untuk diskusi dan contoh penggunaan kelas pengakses dinamis, lihat Menggunakan Aksesor Dinamis.
CDynamicStringAccessor::GetString
Mengambil data kolom yang ditentukan sebagai string.
Sintaks
BaseType* GetString(DBORDINAL nColumn) const throw();
BaseType* GetString(const CHAR* pColumnName) const throw();
BaseType* GetString(const WCHAR* pColumnName) const throw();
Parameter
nColumn
[di] Nomor kolom. Nomor kolom dimulai dengan 1. Nilai 0 mengacu pada kolom bookmark, jika ada.
pColumnName
[di] Penunjuk ke string karakter yang berisi nama kolom.
Tampilkan Nilai
Penunjuk ke nilai string yang diambil dari kolom yang ditentukan. Nilainya berjenis BaseType
, yang akan menjadi CHAR atau WCHAR tergantung pada apakah _UNICODE ditentukan atau tidak. Mengembalikan NULL jika kolom yang ditentukan tidak ditemukan.
Keterangan
Formulir penimpaan kedua mengambil nama kolom sebagai string ANSI. Formulir penimpaan ketiga mengambil nama kolom sebagai string Unicode.
CDynamicStringAccessor::SetString
Mengatur data kolom yang ditentukan sebagai string.
Sintaks
HRESULT SetString(DBORDINAL nColumn,
BaseType* data) throw();
HRESULT SetString(const CHAR* pColumnName,
BaseType* data) throw();
HRESULT SetString(const WCHAR* pColumnName,
BaseType* data) throw();
Parameter
nColumn
[di] Nomor kolom. Nomor kolom dimulai dengan 1. Nilai khusus 0 mengacu pada kolom bookmark, jika ada.
pColumnName
[di] Penunjuk ke string karakter yang berisi nama kolom.
data
[di] Penunjuk ke data string yang akan ditulis ke kolom yang ditentukan.
Tampilkan Nilai
Penunjuk ke nilai string untuk mengatur kolom yang ditentukan. Nilainya berjenis BaseType
, yang akan menjadi CHAR atau WCHAR tergantung pada apakah _UNICODE ditentukan atau tidak.
Keterangan
Formulir penimpaan kedua mengambil nama kolom sebagai string ANSI dan formulir penimpaan ketiga mengambil nama kolom sebagai string Unicode.
Jika _SECURE_ATL didefinisikan memiliki nilai bukan nol, kegagalan pernyataan runtime akan dihasilkan jika string data input lebih panjang dari panjang maksimum yang diizinkan dari kolom data yang dirujuk. Jika tidak, string input akan dipotong jika lebih panjang dari panjang maksimum yang diizinkan.
Lihat juga
Templat Konsumen OLE DB
Referensi Templat Konsumen OLE DB
Kelas CAccessor
Kelas CDynamicParameterAccessor
Kelas CManualAccessor
Kelas CDynamicAccessor
Kelas CDynamicStringAccessorA
Kelas CDynamicStringAccessorW
Kelas CXMLAccessor