ISSCommandWithParameters::GetParameterProperties w kliencie natywnym programu SQL Server (OLE DB)
Dotyczy:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics Platform System (PDW)
Ważny
sql Server Native Client (często skrócony SNAC) został usunięty z programu SQL Server 2022 (16.x) i PROGRAMU SQL Server Management Studio 19 (SSMS). Zarówno dostawca OLE DB klienta natywnego programu SQL Server (SQLNCLI lub SQLNCLI11), jak i starszy dostawca MICROSOFT OLE DB dla programu SQL Server (SQLOLEDB) nie są zalecane w przypadku nowego programowania. Przejdź do nowego sterownika MICROSOFT OLE DB (MSOLEDBSQL) dla programu SQL Server w przyszłości.
Zwraca tablicę struktur zestawu właściwości SSPARAMPROPS, jedną właściwość SSPARAMPROPS ustawioną dla każdego parametru UDT lub XML.
Składnia
HRESULT GetParameterProperties(
DB_UPARAMS *pcParams,
SSPARAMPROPS **prgParamProperties);
Argumenty
pcParams[out][in]
Wskaźnik do pamięci, który zawiera liczbę struktur SSPARAMPROPS zwróconych w prgParamProperties.
prgParamProperties[out]
Wskaźnik do pamięci, w którym zwracana jest tablica struktur SSPARAMPROPS. Dostawca przydziela pamięć struktur i zwraca adres do tej pamięci; użytkownik zwalnia tę pamięć z IMalloc::Free, gdy nie potrzebuje już struktur. Przed wywołaniem IMalloc::Free dla prgParamProperties, konsument musi również wywołać VariantClear dla właściwości vValue każdej struktury DBPROP, aby zapobiec wyciekowi pamięci w przypadkach, gdy wariant zawiera typ odwołania (taki jak BSTR). Jeśli pcParams jest zerowa w danych wyjściowych lub wystąpi błąd inny niż DB_E_ERRORSOCCURRED, dostawca nie przydziela żadnej pamięci i zapewnia, że prgParamProperties jest wskaźnikiem null w danych wyjściowych.
Zwracanie wartości kodu
Metoda GetParameterProperties zwraca te same kody błędów co podstawowy kod OLE DB ICommandProperties::GetProperties metody, z wyjątkiem tego, że nie można podnieść DB_S_ERRORSOCCURRED i DB_E_ERRORSOCCURRED.
Uwagi
ISSCommandWithParameters::GetParameterProperties zachowuje się spójnie w odniesieniu do GetParameterInfo. Jeśli ISSCommandWithParameters::SetParameterProperties lub SetParameterInfo nie zostały wywołane lub zostały wywołane z parametrem cParams równym zero, GetParameterInfo uzyskuje informacje o parametrach i zwraca to. Jeśli ISSCommandWithParameters::SetParameterProperties lub SetParameterInfo zostały wywołane dla co najmniej jednego parametru, ISSCommandWithParameters::GetParameterProperties zwraca właściwości tylko dla tych parametrów, dla których wywołano ISSCommandWithParameters::SetParameterProperties. Jeśli ISSCommandWithParameters::SetParameterProperties jest wywoływany po ISSCommandWithParameters::GetParameterProperties lub GetParameterInfo, kolejne wywołania polecenia ISSCommandWithParameters::GetParameterProperties zwracają wartości przesłonięte dla tych parametrów, dla których wywołano ISSCommandWithParameters::SetParameterProperties.
Struktura SSPARAMPROPS jest zdefiniowana w następujący sposób:
struct SSPARAMPROPS {
DBORDINAL iOrdinal;
ULONG cPropertySets;
DBPROPSET *rgPropertySets;
};
Członek | Opis |
---|---|
iOrdinal | Porządkowe przekazanego parametru. |
cPropertySets | Liczba struktur DBPROPSET w rgPropertySets. |
rgPropertySets | Wskaźnik do pamięci, w którym zwraca tablicę struktur DBPROPSET. |