Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics Platform System (PDW)
Ważna
SQL Server Native Client (często skracany jako SNAC) został usunięty z SQL Server 2022 (16.x) i 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. Przełącz się na nowy sterownik Microsoft OLE DB (MSOLEDBSQL) dla programu SQL Server na przyszłość.
Ustawia właściwości parametrów na podstawie parametrów pojedynczych przez porządk lub ustawia właściwości parametrów zbiorczych poprzez określenie tablicy struktur SSPARAMPROPS.
Syntax
HRESULT SetParameterProperties(
DB_UPARAMS cParams,
SSPARAMPROPS rgParamProperties[]);
Arguments
cParams[in]
Liczba struktur SSPARAMPROPS w tablicy rgParamProperties . Jeśli ta liczba wynosi zero, ISSCommandWithParameters::SetParameterProperties usunie wszystkie właściwości, które mogły być określone dla dowolnych parametrów w poleceniu.
rgParamProperties[in]
Zestaw struktur SSPARAMPROPS do ustawienia.
Wartości kodów zwracanych
Metoda ISSCommandWithParameters::SetParameterProperties zwraca te same kody błędów co podstawowa metoda OLE DB ICommandProperties::SetProperties .
Remarks
Ustawianie właściwości parametrów tą metodą jest dozwolone na podstawie parametrów przez pojedynczy system lub za pomocą pojedynczego wywołania ISSCommandWithParameters::SetParameterProperties po zbudowaniu SSPARAMPROPS z tablicy właściwości.
Metoda SetParameterInfo musi zostać wywołana przed wywołaniem metody ISSCommandWithParameters::SetParameterProperties . Wywołanie SetParameterProperties(0, NULL) usuwa wszystkie określone właściwości parametrów, a wywołanie SetParameterInfo(0,NULL,NULL) usuwa wszystkie informacje parametrów, w tym wszelkie właściwości, które mogą być powiązane z parametrem.
Wywołanie ISSCommandWithParameters::SetParameterProperties, aby określić właściwości parametru, który nie jest typu DBTYPE_XML ani DBTYPE_UDT zwraca DB_E_ERRORSOCCURRED lub DB_S_ERRORSOCCURRED i oznacza pole dwStatus wszystkich DBPROPów zawartych w SSPARAMPROPS dla tego parametru DBPROPSTATUS_NOTSET. Tablica DBPROP każdego DBPROPSETU zawartego w SSPARAMPROPS powinna być przejrzana, aby wykryć, do którego parametru odnosi się DB_E_ERRORSOCCURRED lub DB_S_ERRORSOCCURRED.
Jeśli ISSCommandWithParameters::SetParameterProperties zostanie wywołany, aby określić właściwości parametrów, których informacje o parametrach nie zostały jeszcze ustalone za pomocą SetParameterInfo, dostawca zwraca E_UNEXPECTED z następującym komunikatem o błędzie:
Metoda SetParameterProperties nie może być wywołana dla określonych parametrów bez wcześniejszego wywołania metody SetParameterInfo. Informacje o parametrze muszą być ustawione przed ustawieniem właściwości parametrów.
Jeśli wywołanie ISSCommandWithParameters::SetParameterProperties zawiera parametry, w których informacje o parametrze zostały ustawione, oraz takie, gdzie informacje o parametrze nie zostały ustawione, właściwości dwStatus w DBPROPSETIE zbioru właściwości SSPARAMPROPS zwrócą DBSTATUS_NOTSET.
Struktura SSPARAMPROPS jest zdefiniowana następująco:
struct SSPARAMPROPS {
DBORDINAL iOrdinal;
ULONG cPropertySets;
DBPROPSET *rgPropertySets;
};
Ulepszenia silnika baz danych, począwszy od SQL Server 2012 (11.x), pozwalają ISSCommandWithParameters::SetParameterProperties uzyskać dokładniejsze opisy oczekiwanych wyników. Te dokładniejsze wyniki mogą różnić się od wartości zwracanych przez ISSCommandWithParameters::SetParametr Properties w poprzednich wersjach SQL Servera. Więcej informacji można znaleźć w sekcji Metadata Discovery.
| Członek | Opis |
|---|---|
| iOrdinal | Porządkowa parametru miotanego. |
| cPropertySets | Liczba struktur DBPROPSET w rgPropertySets. |
| rgPropertySets | Wskaźnik do pamięci, w którym można zwrócić tablicę struktur DBPROPSET. |