Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Platí na:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analytický platformový systém (PDW)
SQL databáze v Microsoft Fabric
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. |