ISSCommandWithParameters::SetParameterProperties (OLE DB)
Berlaku untuk: SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW)
Mengatur properti parameter per parameter berdasarkan ordinal, atau mengatur properti parameter massal dengan menentukan array struktur SSPARAMPROPS.
Sintaks
HRESULT SetParameterProperties(
DB_UPARAMS cParams,
SSPARAMPROPS rgParamProperties[]);
Argumen
cParams[in]
Jumlah struktur SSPARAMPROPS dalam array rgParamProperties . Jika angka ini nol, ISSCommandWithParameters::SetParameterProperties akan menghapus semua properti yang mungkin telah ditentukan untuk parameter apa pun dalam perintah.
rgParamProperties[in]
Array struktur SSPARAMPROPS yang akan diatur.
Mengembalikan Nilai Kode
Metode ISSCommandWithParameters::SetParameterProperties mengembalikan kode kesalahan yang sama dengan metode inti OLE DB ICommandProperties::SetProperties .
Keterangan
Mengatur properti parameter dengan metode ini diizinkan berdasarkan per parameter secara ordinal, atau dengan satu panggilan ISSCommandWithParameters::SetParameterProperties setelah SSPARAMPROPS dibangun dari array properti.
Metode SetParameterInfo harus dipanggil sebelum memanggil metode ISSCommandWithParameters::SetParameterProperties . SetParameterProperties(0, NULL)
Panggilan menghapus semua properti parameter yang ditentukan, sementara panggilan SetParameterInfo(0,NULL,NULL)
menghapus semua info parameter termasuk properti apa pun yang mungkin terkait dengan parameter.
Memanggil ISSCommandWithParameters::SetParameterProperties untuk menentukan properti untuk parameter yang bukan tipe DBTYPE_XML atau DBTYPE_UDT mengembalikan DB_E_ERRORSOCCURRED atau DB_S_ERRORSOCCURRED dan menandai bidang dwStatus dari semua DBPROP yang terkandung dalam SSPARAMPROPS untuk parameter tersebut dengan DBPROPSTATUS_NOTSET. Array DBPROP dari setiap DBPROPSET yang terkandung dalam SSPARAMPROPS harus dilalui untuk mendeteksi parameter mana yang dirujuk DB_E_ERRORSOCCURRED atau DB_S_ERRORSOCCURRED.
Jika ISSCommandWithParameters::SetParameterProperties dipanggil untuk menentukan properti parameter yang info parameternya belum diatur dengan SetParameterInfo, penyedia mengembalikan E_UNEXPECTED dengan pesan kesalahan berikut:
Metode SetParameterProperties tidak dapat dipanggil untuk parameter yang ditentukan tanpa terlebih dahulu memanggil metode SetParameterInfo. Informasi parameter harus diatur sebelum mengatur properti parameter.
Jika panggilan ke ISSCommandWithParameters::SetParameterProperties berisi beberapa parameter tempat info parameter telah diatur, dan beberapa parameter tempat info parameter belum diatur, properti dwStatus di DBPROPSET dari kumpulan properti SSPARAMPROPS akan kembali dengan DBSTATUS_NOTSET.
Struktur SSPARAMPROPS didefinisikan sebagai berikut:
struct SSPARAMPROPS {
DBORDINAL iOrdinal;
ULONG cPropertySets;
DBPROPSET *rgPropertySets;
};
Peningkatan di mesin database yang dimulai dengan SQL Server 2012 (11.x) memungkinkan ISSCommandWithParameters::SetParameterProperties untuk mendapatkan deskripsi yang lebih akurat dari hasil yang diharapkan. Hasil yang lebih akurat ini mungkin berbeda dari nilai yang dikembalikan oleh ISSCommandWithParameters::SetParameterProperties di versi SQL Server sebelumnya. Untuk informasi selengkapnya, lihat Penemuan Metadata.
Anggota | Deskripsi |
---|---|
iOrdinal | Ordinal parameter yang dilewatkan. |
cPropertySets | Jumlah struktur DBPROPSET di rgPropertySets. |
rgPropertySets | Pointer ke memori untuk mengembalikan array struktur DBPROPSET. |