Bagikan melalui


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