Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Mirip dengan CDynamicAccessor tetapi mendapatkan informasi parameter yang akan diatur dengan memanggil antarmuka ICommandWithParameters .
Sintaks
class CDynamicParameterAccessor : public CDynamicAccessor
Persyaratan
Header: atldbcli.h
Anggota
Metode
| Nama | Deskripsi |
|---|---|
| CDynamicParameterAccessor | Konstruktor. |
| GetParam | Mengambil data parameter dari buffer. |
| GetParamCount | Mengambil jumlah parameter di aksesor. |
| GetParamIO | Menentukan apakah parameter yang ditentukan adalah parameter input atau output. |
| GetParamLength | Mengambil panjang parameter yang ditentukan yang disimpan dalam buffer. |
| GetParamName | Mengambil nama parameter yang ditentukan. |
| GetParamStatus | Mengambil status parameter yang ditentukan yang disimpan dalam buffer. |
| GetParamString | Mengambil data string dari parameter yang ditentukan yang disimpan dalam buffer. |
| GetParamType | Mengambil jenis data parameter tertentu. |
| SetParam | Mengatur buffer menggunakan data parameter. |
| SetParamLength | Mengatur panjang parameter yang ditentukan yang disimpan dalam buffer. |
| SetParamStatus | Mengatur status parameter yang ditentukan yang disimpan dalam buffer. |
| SetParamString | Mengatur data string dari parameter yang ditentukan yang disimpan dalam buffer. |
Keterangan
Penyedia harus mendukung ICommandWithParameters konsumen untuk menggunakan kelas ini.
Informasi parameter disimpan dalam buffer yang dibuat dan dikelola oleh kelas ini. Dapatkan data parameter dari buffer dengan menggunakan GetParam dan GetParamType.
Untuk contoh yang menunjukkan cara menggunakan kelas ini untuk menjalankan prosedur tersimpan SQL Server dan mendapatkan nilai parameter output, lihat kode sampel DynamicConsumer di repositori Microsoft VCSamples di GitHub.
CDynamicParameterAccessor::CDynamicParameterAccessor
Konstruktor.
Sintaks
typedef CDynamicParameterAccessor _ParamClass;
CDynamicParameterAccessor(
DBBLOBHANDLINGENUM eBlobHandling = DBBLOBHANDLING_DEFAULT,
DBLENGTH nBlobSize = 8000 )
: CDynamicAccessor(eBlobHandling, nBlobSize )
Parameter
eBlobHandling
Menentukan bagaimana data BLOB akan ditangani. Nilai defaultnya adalah DBBLOBHANDLING_DEFAULT. Lihat CDynamicAccessor::SetBlobHandling untuk deskripsi nilai DBBLOBHANDLINGENUM.
nBlobSize
Ukuran BLOB maksimum dalam byte; data kolom atas nilai ini diperlakukan sebagai BLOB. Nilai defaultnya adalah 8.000. Lihat CDynamicAccessor::SetBlobSizeLimit untuk detailnya.
Keterangan
Lihat konstruktor CDynamicAccessor::CDynamicAccessor untuk informasi selengkapnya tentang penanganan BLOB.
CDynamicParameterAccessor::GetParam
Mengambil data nonstring untuk parameter tertentu dari buffer parameter.
Sintaks
template <class ctype>bool GetParam(DBORDINAL nParam,
ctype* pData) const throw();
template <class ctype> bool GetParam(TCHAR* pParamName,
ctype* pData) const throw();
void* GetParam(DBORDINAL nParam) const throw();
void* GetParam(TCHAR* pParamName) const throw();
Parameter
ctype
Parameter templat yang merupakan jenis data.
nParam
[di] Nomor parameter (offset dari 1). Parameter 0 dicadangkan untuk nilai yang dikembalikan. Nomor parameter adalah indeks parameter berdasarkan urutannya dalam panggilan prosedur tersimpan atau SQL. Lihat SetParam untuk contoh.
pParamName
[in] Nama parameter.
pData
[out] Penunjuk ke memori yang berisi data yang diambil dari buffer.
Tampilkan Nilai
Untuk versi yang tidak diintemplasi, arahkan ke memori yang berisi data yang diambil dari buffer. Untuk versi templat, mengembalikan true keberhasilan atau false kegagalan.
Gunakan GetParam untuk mengambil data parameter nonstring dari buffer. Gunakan GetParamString untuk mengambil data parameter string dari buffer.
CDynamicParameterAccessor::GetParamCount
Mengambil jumlah parameter yang disimpan dalam buffer.
Sintaks
DB_UPARAMS GetParamCount() const throw();
Tampilkan Nilai
Jumlah parameter.
CDynamicParameterAccessor::GetParamIO
Menentukan apakah parameter yang ditentukan adalah parameter input atau output.
Sintaks
bool GetParamIO(DBORDINAL nParam,
DBPARAMIO* pParamIO) const throw();
Parameter
nParam
[di] Nomor parameter (offset dari 1). Parameter 0 dicadangkan untuk nilai yang dikembalikan. Nomor parameter adalah indeks parameter berdasarkan urutannya dalam panggilan prosedur tersimpan atau SQL. Lihat SetParam untuk contoh.
pParamIO
Penunjuk ke variabel yang berisi DBPARAMIO jenis (input atau output) dari parameter yang ditentukan. Ini didefinisikan sebagai berikut:
typedef DWORD DBPARAMIO;
enum DBPARAMIOENUM {
DBPARAMIO_NOTPARAM = 0,
DBPARAMIO_INPUT = 0x1,
DBPARAMIO_OUTPUT = 0x2
};
Tampilkan Nilai
Mengembalikan true keberhasilan atau false kegagalan.
CDynamicParameterAccessor::GetParamLength
Mengambil panjang parameter yang ditentukan yang disimpan dalam buffer.
Sintaks
bool GetParamLength(DBORDINAL nParam,
DBLENGTH* pLength);
DBLENGTH* GetParamLength(DBORDINAL nParam) const throw();
Parameter
nParam
[di] Nomor parameter (offset dari 1). Parameter 0 dicadangkan untuk nilai yang dikembalikan. Nomor parameter adalah indeks parameter berdasarkan urutannya dalam panggilan prosedur tersimpan atau SQL. Lihat SetParam untuk contoh.
pLength
[out] Penunjuk ke variabel yang berisi panjang dalam byte parameter yang ditentukan.
Keterangan
Penimpaan true pertama kembali pada keberhasilan atau false kegagalan. Penimpaan kedua menunjuk ke memori yang berisi panjang parameter.
CDynamicParameterAccessor::GetParamName
Mengambil nama parameter yang ditentukan.
Sintaks
LPOLESTR GetParamName(DBORDINAL nParam) const throw();
Parameter
nParam
[di] Nomor parameter (offset dari 1). Parameter 0 dicadangkan untuk nilai yang dikembalikan. Nomor parameter adalah indeks parameter berdasarkan urutannya dalam panggilan prosedur tersimpan atau SQL. Lihat SetParam untuk contoh.
Tampilkan Nilai
Nama parameter yang ditentukan.
CDynamicParameterAccessor::GetParamStatus
Mengambil status parameter yang ditentukan yang disimpan dalam buffer.
Sintaks
bool GetParamStatus(DBORDINAL nParam,
DBSTATUS* pStatus);
DBSTATUS* GetParamStatus(DBORDINAL nParam) const throw();
Parameter
nParam
[di] Nomor parameter (offset dari 1). Parameter 0 dicadangkan untuk nilai yang dikembalikan. Nomor parameter adalah indeks parameter berdasarkan urutannya dalam panggilan prosedur tersimpan atau SQL. Lihat SetParam untuk contoh.
pStatus
[out] Penunjuk ke variabel yang berisi status DBSTATUS dari parameter yang ditentukan. Untuk informasi tentang nilai DBSTATUS, lihat Status di Referensi Programmer OLE DB, atau cari DBSTATUS di oledb.h.
Keterangan
Penimpaan true pertama kembali pada keberhasilan atau false kegagalan. Penimpaan kedua menunjuk ke memori yang berisi status parameter yang ditentukan.
CDynamicParameterAccessor::GetParamString
Mengambil data string dari parameter yang ditentukan yang disimpan dalam buffer.
Sintaks
bool GetParamString(DBORDINAL nParam,
CSimpleStringA& strOutput) throw();
bool GetParamString(DBORDINAL nParam,
CSimpleStringW& strOutput) throw();
bool GetParamString(DBORDINAL nParam,
CHAR* pBuffer,
size_t* pMaxLen) throw();
bool GetParamString(DBORDINAL nParam,
WCHAR* pBuffer,
size_t* pMaxLen) throw();
Parameter
nParam
[di] Nomor parameter (offset dari 1). Parameter 0 dicadangkan untuk nilai yang dikembalikan. Nomor parameter adalah indeks parameter berdasarkan urutannya dalam panggilan prosedur tersimpan atau SQL. Lihat SetParam untuk contoh.
strOutput
[out] Data string ANSI (CSimpleStringA) atau Unicode (CSimpleStringW) dari parameter yang ditentukan. Anda harus meneruskan parameter jenis CString, misalnya:
CString MyString;
rs.GetParamString(1, MyString);
pBuffer
[out] Penunjuk ke data string ANSI (CHAR) atau Unicode (WCHAR) dari parameter yang ditentukan.
pMaxLen
[out] Penunjuk ke ukuran buffer yang diacu oleh pBuffer (dalam karakter, termasuk penghentian NULL).
Keterangan
Mengembalikan true keberhasilan atau false kegagalan.
Jika pBuffer adalah NULL, metode ini akan mengatur ukuran buffer yang diperlukan dalam memori yang ditunjukkan oleh pMaxLen dan mengembalikan true tanpa menyalin data.
Metode ini akan gagal jika buffer pBuffer tidak cukup besar untuk berisi seluruh string.
Gunakan GetParamString untuk mengambil data parameter string dari buffer. Gunakan GetParam untuk mengambil data parameter nonstring dari buffer.
CDynamicParameterAccessor::GetParamType
Mengambil jenis data parameter tertentu.
Sintaks
bool GetParamType(DBORDINAL nParam,
DBTYPE* pType) const throw();
Parameter
nParam
[di] Nomor parameter (offset dari 1). Parameter 0 dicadangkan untuk nilai yang dikembalikan. Nomor parameter adalah indeks parameter berdasarkan urutannya dalam panggilan prosedur tersimpan atau SQL. Lihat SetParam untuk contoh.
pType
[out] Penunjuk ke variabel yang berisi jenis data parameter yang ditentukan.
Tampilkan Nilai
Mengembalikan true keberhasilan atau false kegagalan.
CDynamicParameterAccessor::SetParam
Mengatur buffer parameter menggunakan data (non-string) yang ditentukan.
Sintaks
template <class ctype>
bool SetParam(DBORDINAL nParam,
constctype* pData,
DBSTATUS status = DBSTATUS_S_OK) throw();
template <class ctype>
bool SetParam(TCHAR* pParamName,
const ctype* pData,
DBSTATUS status = DBSTATUS_S_OK) throw();
Parameter
ctype
Parameter templat yang merupakan jenis data.
nParam
[di] Nomor parameter (offset dari 1). Parameter 0 dicadangkan untuk nilai yang dikembalikan. Nomor parameter adalah indeks parameter berdasarkan urutannya dalam panggilan prosedur tersimpan atau SQL. Contohnya:
WCHAR* wszSQL = L"SELECT * FROM Authors WHERE State='?' AND LName='?'";
CCommand<CDynamicParameterAccessor> rs;
//...
rs.SetParam<LONG>(1, &m_BillingID);
rs.SetParam<CString>(2, &m_strFirstName);
pParamName
[in] Nama parameter.
pData
[di] Penunjuk ke memori yang berisi data yang akan ditulis ke buffer.
status
[di] Status kolom DBSTATUS. Untuk informasi tentang nilai DBSTATUS, lihat Status di Referensi Programmer OLE DB, atau cari DBSTATUS di oledb.h.
Tampilkan Nilai
Mengembalikan true keberhasilan atau false kegagalan.
Gunakan SetParam untuk mengatur data parameter nonstring di buffer. Gunakan SetParamString untuk mengatur data parameter string di buffer.
CDynamicParameterAccessor::SetParamLength
Mengatur panjang parameter yang ditentukan yang disimpan dalam buffer.
Sintaks
bool SetParamLength(DBORDINAL nParam,
DBLENGTH length);
Parameter
nParam
[di] Nomor parameter (offset dari 1). Parameter 0 dicadangkan untuk nilai yang dikembalikan. Nomor parameter adalah indeks parameter berdasarkan urutannya dalam panggilan prosedur tersimpan atau SQL. Lihat SetParam untuk contoh.
length
[di] Panjang dalam byte parameter yang ditentukan.
Keterangan
Mengembalikan true keberhasilan atau false kegagalan.
CDynamicParameterAccessor::SetParamStatus
Mengatur status parameter yang ditentukan yang disimpan dalam buffer.
Sintaks
bool SetParamStatus(DBORDINAL nParam,
DBSTATUS status);
Parameter
nParam
[di] Nomor parameter (offset dari 1). Parameter 0 dicadangkan untuk nilai yang dikembalikan. Nomor parameter adalah indeks parameter berdasarkan urutannya dalam panggilan prosedur tersimpan atau SQL. Lihat SetParam untuk contoh.
status
[di] Status DBSTATUS dari parameter yang ditentukan. Untuk informasi tentang nilai DBSTATUS, lihat Status di Referensi Programmer OLE DB, atau cari DBSTATUS di oledb.h.
Keterangan
Mengembalikan true keberhasilan atau false kegagalan.
CDynamicParameterAccessor::SetParamString
Mengatur data string dari parameter yang ditentukan yang disimpan dalam buffer.
Sintaks
bool SetParamString(DBORDINAL nParam,
constCHAR* pString,
DBSTATUS status = DBSTATUS_S_OK) throw();bool SetParamString(DBORDINAL nParam,
constWCHAR* pString,
DBSTATUS status = DBSTATUS_S_OK) throw();
Parameter
nParam
[di] Nomor parameter (offset dari 1). Parameter 0 dicadangkan untuk nilai yang dikembalikan. Nomor parameter adalah indeks parameter berdasarkan urutannya dalam panggilan prosedur tersimpan atau SQL. Lihat SetParam untuk contoh.
pString
[di] Penunjuk ke data string ANSI (CHAR) atau Unicode (WCHAR) dari parameter yang ditentukan. Lihat DBSTATUS di oledb.h.
status
[di] Status DBSTATUS dari parameter yang ditentukan. Untuk informasi tentang nilai DBSTATUS, lihat Status di Referensi Programmer OLE DB, atau cari DBSTATUS di oledb.h.
Keterangan
Mengembalikan true keberhasilan atau false kegagalan.
SetParamString akan gagal jika Anda mencoba mengatur string yang lebih besar dari ukuran maksimum yang ditentukan untuk pString.
Gunakan SetParamString untuk mengatur data parameter string di buffer. Gunakan SetParam untuk mengatur data parameter nonstring di buffer.
Lihat juga
Templat Konsumen OLE DB
Referensi Templat Konsumen OLE DB
Kelas CAccessor
Kelas CDynamicAccessor
Kelas CManualAccessor