Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of mappen te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen om mappen te wijzigen.
Van toepassing op:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics Platform Systeem (PDW)
SQL-database in Microsoft Fabric
OLE DB-stuurprogramma downloaden
Stelt de parametereigenschappen per parameter in op ordinale basis, of stelt bulkparametereigenschappen in door een array van SSPARAMPROPS-structuren te specificeren.
Syntaxis
HRESULT SetParameterProperties(
DB_UPARAMS cParams,
SSPARAMPROPS rgParamProperties[]);
Arguments
cParams[in]
Het aantal SSPARAMPROPS-structuren in de rgParamProperties-array . Als dit getal nul is, verwijdert ISSCommandWithParameters::SetParameterProperties alle eigenschappen die mogelijk zijn gespecificeerd voor welke parameters dan ook in het commando.
rgParamProperties[in]
Een array van SSPARAMPROPS-structuren die moeten worden ingesteld.
Retourcodewaarden
De ISSCommandWithParameters::SetParameterProperties-methode geeft dezelfde foutcodes terug als de kernmethode OLE DB ICommandProperties::SetProperties .
Opmerkingen
Het instellen van parametereigenschappen met deze methode is toegestaan op basis van parameter, per ordinaal, of met een enkele ISSCommandWithParameters::SetParameterProperties-aanroep zodra de SSPARAMPROPS is opgebouwd uit de propertyarray.
De SetParameterInfo-methode moet worden aangeroepen voordat de ISSCommandWithParameters::SetParameterProperties-methode wordt aangeroepen. Aanroepen SetParameterProperties(0, NULL) verwijdert alle opgegeven parametereigenschappen, terwijl aanroepen SetParameterInfo(0,NULL,NULL) alle parameterinformatie verwijdert, inclusief eventuele eigenschappen die aan een parameter gekoppeld kunnen zijn.
Het aanroepen van ISSCommandWithParameters::SetParameterProperties om eigenschappen te specificeren voor een parameter die niet van type DBTYPE_XML of DBTYPE_UDT is, levert DB_E_ERRORSOCCURRED of DB_S_ERRORSOCCURRED terug en markeert het dwStatus-veld van alle DBPROPs in SSPARAMPROPS voor die parameter met DBPROPSTATUS_NOTSET. De DBPROP-array van elke DBPROPSET in SSPARAMPROPS moet worden doorkruist om te detecteren naar welke parameter de DB_E_ERRORSOCCURRED of DB_S_ERRORSOCCURRED verwijst.
Als ISSCommandWithParameters::SetParameterProperties wordt aangeroepen om de eigenschappen van parameters waarvan de parameterinformatie nog niet is ingesteld te specificeren met SetParameterInfo, geeft de provider E_UNEXPECTED terug met de volgende foutmelding:
De methode SetParameterProperties kan niet worden aangeroepen voor de gespecificeerde parameters zonder eerst de methode SetParameterInfo aan te roepen. De parameterinformatie moet worden ingesteld voordat de parametereigenschappen worden ingesteld.
Als de aanroep naar ISSCommandWithParameters::SetParameterProperties parameters bevat waarbij de parameterinformatie is ingesteld, en parameters waarbij de parameterinformatie niet is ingesteld, zullen de dwStatus-eigenschappen in de DBPROPSET van de SSPARAMPROPS-eigenschapset terugkeren met DBSTATUS_NOTSET.
De SSPARAMPROPS-structuur wordt als volgt gedefinieerd:
struct SSPARAMPROPS {
DBORDINAL iOrdinal;
ULONG cPropertySets;
DBPROPSET *rgPropertySets;
};
Verbeteringen in de database-engine, beginnend met SQL Server 2012 (11.x), stellen ISSCommandWithParameters::SetParameterProperties in staat om nauwkeurigere beschrijvingen van de verwachte resultaten te verkrijgen. Deze nauwkeurigere resultaten kunnen verschillen van de waarden die door ISSCommandWithParameters::SetParameterProperties in eerdere versies van SQL Server worden teruggegeven. Voor meer informatie, zie Metadata Discovery.
| Lid | Description |
|---|---|
| iOrdinal | De ordinaal van de doorgegeven parameter. |
| cPropertySets | Het aantal DBPROPSET-structuren in rgPropertySets. |
| rgPropertySets | Een verwijzing naar het geheugen om een array van DBPROPSET-structuren terug te geven. |