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.
Mengaitkan variabel anggota yang ditentukan dengan parameter input atau output dan memisahkan variabel.
Sintaks
[ db_param(ordinal, paramtype="DBPARAMIO_INPUT", dbtype, precision, scale, status, length) ]
Parameter
Ordinal
Nomor kolom (ordinal DBCOLUMNINFO) yang sesuai dengan bidang dalam set baris yang akan mengikat data.
paramtype
(Opsional) Jenis yang akan diatur untuk parameter . Penyedia hanya mendukung jenis I/O parameter yang didukung oleh sumber data yang mendasar. Jenisnya adalah kombinasi dari satu atau beberapa nilai DBPARAMIOENUM:
DBPARAMIO_INPUT Parameter input.
DBPARAMIO_OUTPUT Parameter output.
DBPARAMIO_NOTPARAM Aksesor tidak memiliki parameter. Pengaturan
eParamIOke nilai ini di aksesor baris mengingatkan pengguna bahwa parameter diabaikan.
dbtype
(Opsional) Indikator Tipe OLE DB untuk entri kolom.
presisi
(Opsional) Presisi yang akan digunakan untuk entri kolom. Untuk detailnya, lihat deskripsi bPrecision elemen struktur DBBINDING
sisik
(Opsional) Skala yang akan digunakan untuk entri kolom. Untuk detailnya, lihat deskripsi bScale elemen struktur DBBINDING
status
(Opsional) Variabel anggota yang digunakan untuk menahan status kolom ini. Status menunjukkan apakah nilai kolom adalah nilai data atau beberapa nilai lainnya, seperti NULL. Untuk nilai yang mungkin, lihat Status di Referensi Programmer OLE DB.
length
(Opsional) Variabel anggota yang digunakan untuk menahan ukuran kolom dalam byte.
Keterangan
db_param menentukan parameter yang Anda gunakan dalam perintah; oleh karena itu Anda menggunakannya dengan db_command. Misalnya, Anda dapat menggunakan db_param untuk mengikat parameter dalam kueri SQL atau prosedur tersimpan. Parameter dalam prosedur tersimpan ditandai dengan tanda tanya (?), dan Anda harus mengikat anggota data dalam urutan parameter muncul.
db_param memisahkan data anggota yang dapat berpartisipasi dalam pengikatan berbasis OLE DBICommandWithParameters. Ini mengatur jenis parameter (input atau output), jenis OLE DB, presisi, skala, status, dan panjang untuk parameter yang ditentukan. Atribut ini menyisipkan makro konsumen OLE DB BEGIN_PARAM_MAP ... END_PARAM_MAP. Setiap anggota yang Anda tandai dengan atribut db_param akan menempati satu entri di peta dalam bentuk COLUMN_ENTRY.
db_param digunakan bersama dengan atribut db_table atau db_command.
Ketika penyedia atribut konsumen menerapkan atribut ini ke kelas, pengkompilasi akan mengganti nama kelas menjadi _YourClassNameAccessor, di mana YourClassName adalah nama yang Anda berikan kelas, dan pengkompilasi juga akan membuat kelas yang disebut YourClassName, yang berasal dari _YourClassNameAccessor. Di Tampilan Kelas, Anda akan melihat kedua kelas.
Contoh
Contoh berikut membuat kelas perintah berdasarkan prosedur tersimpan SalesbyYear di database Northwind. Ini mengaitkan parameter pertama dalam prosedur tersimpan m_RETURN_VALUE dengan variabel, dan mendefinisikannya sebagai parameter output. Ini mengaitkan dua parameter (input) terakhir dengan m_Beginning_Date dan m_Ending_Date.
Contoh berikut mengaitkan nOutput variabel dengan parameter output.
// db_param.cpp
// compile with: /LD
#include <atlbase.h>
#include <atlplus.h>
#include <atldbcli.h>
[ db_source(L"my_connection_string"),
db_command(L"{ ? = CALL dbo.\"Sales by Year\"(?,?) }")
]
struct CSalesbyYear {
DBSTATUS m_dwShippedDateStatus;
DBSTATUS m_dwOrderIDStatus;
DBSTATUS m_dwSubtotalStatus;
DBSTATUS m_dwYearStatus;
DBLENGTH m_dwShippedDateLength;
DBLENGTH m_dwOrderIDLength;
DBLENGTH m_dwSubtotalLength;
DBLENGTH m_dwYearLength;
// Bind columns
[ db_column("1", status="m_dwShippedDateStatus", length="m_dwShippedDateLength") ] DBTIMESTAMP m_ShippedDate;
[ db_column("2", status="m_dwOrderIDStatus", length="m_dwOrderIDLength") ] LONG m_OrderID;
[ db_column("3", status="m_dwSubtotalStatus", length="m_dwSubtotalLength") ] CURRENCY m_Subtotal;
[ db_column("4", status="m_dwYearStatus", length="m_dwYearLength") ] TCHAR m_Year[31];
// Bind parameters
[ db_param("1", paramtype="DBPARAMIO_OUTPUT") ] LONG m_RETURN_VALUE;
[ db_param("2", paramtype="DBPARAMIO_INPUT") ] DBTIMESTAMP m_Beginning_Date;
[ db_param("3", paramtype="DBPARAMIO_INPUT") ] DBTIMESTAMP m_Ending_Date;
};
Persyaratan
| Konteks atribut | Nilai |
|---|---|
| Berlaku untuk | class, struct, anggota, metode, lokal |
| Berulang | No |
| Atribut yang diperlukan | Tidak |
| Atribut tidak valid | Tidak |
Untuk informasi selengkapnya tentang konteks atribut, lihat Konteks Atribut.