Sdílet prostřednictvím


ISSCommandWithParameters::GetParameterProperties v nativním klientovi SQL Serveru (OLE DB)

platí pro:SQL ServerAzure SQL Databaseazure SQL Managed InstanceAzure Synapse AnalyticsPlatform Platform System (PDW)

Důležitý

Z SQL Serveru 2022 (16.x) a SQL Server Management Studio 19 (SSMS) byla odebrána nativní ho klienta SQL Serveru (často zkrácená SNAC). Pro nový vývoj se nedoporučuje zprostředkovatele SQL Server Native Client OLE DB (SQLNCLI nebo SQLNCLI11) ani starší verze zprostředkovatele Microsoft OLE DB pro SQL Server (SQLOLEDB). Přejděte na nový ovladač Microsoft OLE DB (MSOLEDBSQL) pro SQL Server dále.

Vrátí pole SSPARAMPROPS struktury sady vlastností, jednu vlastnost SSPARAMPROPS nastavenou pro každý UDT nebo XML parametr.

Syntax

HRESULT GetParameterProperties(  
      DB_UPARAMS *pcParams,  
      SSPARAMPROPS **prgParamProperties);  

Argumenty

pcParams[out][in]
Ukazatel na paměť obsahující počet struktur SSPARAMPROPS vrácených v prgParamProperties.

prgParamProperties[out]
Ukazatel na paměť, ve které je vráceno pole struktur SSPARAMPROPS. Zprostředkovatel přidělí paměť pro struktury a vrátí adresu této paměti; uživatel uvolní tuto paměť s IMalloc::Free, pokud už nepotřebuje struktury. Před voláním IMalloc::Free pro prgParamPropertiesmusí příjemce také volat VariantClear pro vlastnost vValue každé struktury DBPROP, aby se zabránilo úniku paměti v případech, kdy varianta obsahuje odkazový typ (například BSTR.) Pokud pcParams je ve výstupu nula nebo dojde k jiné chybě než DB_E_ERRORSOCCURRED, zprostředkovatel nepřidělí žádnou paměť a zajistí, že prgParamProperties je ukazatel null na výstupu.

Návratové hodnoty kódu

Metoda GetParameterProperties vrátí stejné kódy chyb jako základní ole db ICommandProperties::GetProperties metoda, s tím rozdílem, že DB_S_ERRORSOCCURRED a DB_E_ERRORSOCCURRED nelze zvýšit.

Poznámky

ISSCommandWithParameters::GetParameterProperties se chová konzistentně s ohledem na GetParameterInfo. Pokud ISSCommandWithParameters::SetParameterProperties nebo SetParameterInfo nebyl volána nebo byla volána s cParams rovná nule, GetParameterInfo odvozuje informace o parametrech a vrátí tuto hodnotu. Pokud ISSCommandWithParameters::SetParameterProperties nebo SetParameterInfo byly volány alespoň pro jeden parametr, ISSCommandWithParameters::GetParameterProperties vrátí vlastnosti pouze pro parametry, pro které byl volána ISSCommandWithParameters::SetParameterProperties. Pokud se ISSCommandWithParameters::SetParameterProperties volá ISSCommandWithParameters::GetParameterProperties nebo GetParameterInfo, následná volání ISSCommandWithParameters::GetParameterProperties vrátí přepsáné hodnoty pro tyto parametry, pro které ISSCommandWithParameters::SetParameterProperties byl volána.

Struktura SSPARAMPROPS je definována takto:

struct SSPARAMPROPS {
    DBORDINAL iOrdinal;
    ULONG cPropertySets;
    DBPROPSET *rgPropertySets;
};
Člen Popis
iOrdinal Pořadové číslo předaného parametru.
cPropertySets Počet struktur DBPROPSET v rgPropertySets.
rgPropertySets Ukazatel na paměť, ve které chcete vrátit pole struktur DBPROPSET.

Viz také

ISSCommandWithParameters (OLE DB)