Sdílet prostřednictvím


ISSCommandWithParameters::SetParameterProperties (OLE DB)

Platí na:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytický platformový systém (PDW)SQL databáze v Microsoft Fabric

Stáhnout ovladač OLE DB

Nastavuje vlastnosti parametru na základě jednotlivých parametrů podle ordinálu, nebo nastavuje hromadné vlastnosti parametrů specifikací pole struktur SSPARAMPROPS.

Syntaxe

  
HRESULT SetParameterProperties(  
      DB_UPARAMS cParams,   
      SSPARAMPROPS rgParamProperties[]);  

Arguments

cParams[in]
Počet struktur SSPARAMPROPS v poli rgParamProperties . Pokud je toto číslo nulové, ISSCommandWithParameters::SetParameterProperties smaže všechny vlastnosti, které mohly být v příkazu specifikovány pro jakékoli parametry.

rgParamProperties[in]
Bude nastavena řada struktur SSPARAMPROPS.

Návratové hodnoty kódu

Metoda ISSCommandWithParameters::SetParameterProperties vrací stejné chybové kódy jako základní metoda OLE DB ICommandProperties::SetProperties .

Poznámky

Nastavení vlastností parametru touto metodou je povoleno na základě jednotlivých parametrů pomocí ordinálu, nebo pomocí jediného volání ISSCommandWithParameters::SetParameterProperties poté, co byl SSPARAMPROPS vytvořen z pole vlastností.

Metoda SetParameterInfo musí být vyvolána před zavoláním metody ISSCommandWithParameters::SetParameterProperties . Volání SetParameterProperties(0, NULL) vymaže všechny specifikované vlastnosti parametru, zatímco volání SetParameterInfo(0,NULL,NULL) vymaže všechny informace o parametru včetně vlastností, které mohou být s parametrem spojeny.

Voláním ISSCommandWithParameters::SetParameterProperties pro určení vlastností parametru, který není typu DBTYPE_XML nebo DBTYPE_UDT vrátí DB_E_ERRORSOCCURRED nebo DB_S_ERRORSOCCURRED a označí pole dwStatus všech DBPROPů obsažených v SSPARAMPROPS pro tento parametr pomocí DBPROPSTATUS_NOTSET. Pole DBPROP každého DBPROPSETU obsaženého v SSPARAMPROPS by mělo být procházeno, aby se zjistilo, na který parametr se DB_E_ERRORSOCCURRED nebo DB_S_ERRORSOCCURRED vztahuje.

Pokud je ISSCommandWithParameters::SetParameterProperties vyvolán k určení vlastností parametrů, jejichž parametry ještě nebyly nastaveny pomocí SetParameterInfo, poskytovatel E_UNEXPECTED vrátí s následující chybovou zprávou:

Metoda SetParameterProperties nelze volat pro specifikované parametry bez předchozího vyvolání metody SetParameterInfo. Informace o parametru musí být nastaveny před nastavením vlastností parametru.

Pokud volání ISSCommandWithParameters::SetParameterProperties obsahuje některé parametry, kde byla parametrová informace nastavena, a některé parametry, kde parametrová informace nebyla nastavena, vlastnosti dwStatus v DBPROPSETU sady vlastností SSPARAMPROPS se vrátí s DBSTATUS_NOTSET.

Struktura SSPARAMPROPS je definována následovně:

struct SSPARAMPROPS {

DBORDINAL iOrdinal;

ULONG cPropertySets;

DBPROPSET *rgPropertySets;

};

Vylepšení databázového enginu počínaje SQL Server 2012 (11.x) umožňují ISSCommandWithParameters::SetParameterProperties získat přesnější popisy očekávaných výsledků. Tyto přesnější výsledky se mohou lišit od hodnot vracených ISSCommandWithParameters::SetParameterProperties v předchozích verzích SQL Serveru. Pro více informací viz Metadata Discovery.

Člen Description
iOrdinal Ordinál předaného parametru.
cPropertySets Počet struktur DBPROPSET v rgPropertySets.
rgPropertySets Ukazatel do paměti, do kterého lze vrátit pole struktur DBPROPSET.

Viz také

ISSCommandWithParameters (OLE DB)