Udostępnij przez


ISSCommandWithParameters::SetParametryProperties (OLE DB)

Dotyczy do:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsSystem Platform Analitycznych (PDW)Baza danych SQL w Microsoft Fabric

pobierz sterownik OLE DB

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.

Składnia

  
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.

Zwracanie wartości kodu

Metoda ISSCommandWithParameters::SetParameterProperties zwraca te same kody błędów co podstawowa metoda OLE DB ICommandProperties::SetProperties .

Uwagi

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 Description
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.

Zobacz też

ISSCommandWithParameters (OLE DB)