Not
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Gäller för:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analysplattformssystem (PDW)
SQL-databas i Microsoft Fabric
Sätter parameteregenskaperna per parameter med ordinal, eller sätter bulkparameteregenskaper genom att specificera en array av SSPARAMPROPS-strukturer.
Syntax
HRESULT SetParameterProperties(
DB_UPARAMS cParams,
SSPARAMPROPS rgParamProperties[]);
Arguments
cParams[in]
Antalet SSPARAMPROPS-strukturer i rgParamProperties-arrayen . Om detta tal är noll kommer ISSCommandWithParameters::SetParameterProperties att ta bort alla egenskaper som kan ha specificerats för några parametrar i kommandot.
rgParamProperties[in]
En array av SSPARAMPROPS-strukturer ska sättas.
Returnera kodvärden
ISSCommandWithParameters::SetParameterProperties-metoden returnerar samma felkoder som kärnmetoden OLE DB ICommandProperties::SetProperties.
Anmärkningar
Att sätta parameteregenskaper med denna metod är tillåtet per parameter per ordinal, eller med ett enda ISSCommandWithParameters::SetParameterProperties-anrop när SSPARAMPROPS har byggts från egenskapsarrayen.
Metoden SetParameterInfo måste anropas innan metoden ISSCommandWithParameters::SetParameterProperties anropas. Anrop SetParameterProperties(0, NULL) rensar alla specificerade parameteregenskaper, medan anrop SetParameterInfo(0,NULL,NULL) rensar all parameterinformation inklusive eventuella egenskaper som kan vara kopplade till en parameter.
Att anropa ISSCommandWithParameters::SetParameterProperties för att specificera egenskaper för en parameter som inte är av typ DBTYPE_XML eller DBTYPE_UDT returnerar DB_E_ERRORSOCCURRED eller DB_S_ERRORSOCCURRED och markerar dwStatus-fältet för alla DBPROP:er som finns i SSPARAMPROPS för den parametern med DBPROPSTATUS_NOTSET. DBPROP-arrayen för varje DBPROPSET som finns i SSPARAMPROPS bör genomsökas för att upptäcka vilken parameter DB_E_ERRORSOCCURRED eller DB_S_ERRORSOCCURRED syftar på.
Om ISSCommandWithParameters::SetParameterProperties anropas för att specificera egenskaperna för parametrar vars parameterinformation ännu inte har satts med SetParameterInfo, returnerar leverantören E_UNEXPECTED med följande felmeddelande:
Metoden SetParameterProperties kan inte anropas för de specificerade parametrarna utan att först anropa metoden SetParameterInfo. Parameterinformationen måste sättas innan parameteregenskaperna ställs in.
Om anropet till ISSCommandWithParameters::SetParameterProperties innehåller vissa parametrar där parameterinformationen har satts, och vissa parametrar där parameterinformationen inte har satts, kommer dwStatus-egenskaperna i DBPROPSET av SSPARAMPROPS-egenskapsuppsättningen att returnera med DBSTATUS_NOTSET.
SSPARAMPROPS-strukturen definieras enligt följande:
struct SSPARAMPROPS {
DBORDINAL iOrdinal;
ULONG cPropertySets;
DBPROPSET *rgPropertySets;
};
Förbättringar i databasmotorn med start i SQL Server 2012 (11.x) gör det möjligt för ISSCommandWithParameters::SetParameterProperties att få mer exakta beskrivningar av de förväntade resultaten. Dessa mer exakta resultat kan skilja sig från de värden som returneras av ISSCommandWithParameters::SetParameterProperties i tidigare versioner av SQL Server. För mer information, se Metadata Discovery.
| Medlem | Description |
|---|---|
| iOrdinal | Ordinalen för den passerade parametern. |
| cPropertySets | Antalet DBPROPSET-strukturer i rgPropertySets. |
| rgPropertySets | En pekare till minnet för att returnera en array av DBPROPSET-strukturer. |