ISSCommandWithParameters::SetParameterProperties (OLE DB)
Si applica a: SQL Server Database SQL di Azure Istanza gestita di SQL di Azure Azure Synapse Analytics Piattaforma di strumenti analitici (PDW)
Imposta le proprietà dei parametri per i singoli parametri in base al numero ordinale oppure imposta proprietà dei parametri bulk specificando una matrice di strutture SSPARAMPROPS.
Sintassi
HRESULT SetParameterProperties(
DB_UPARAMS cParams,
SSPARAMPROPS rgParamProperties[]);
Argomenti
cParams[in]
Numero di strutture SSPARAMPROPS nella matrice rgParamProperties. Se questo numero è zero, ISSCommandWithParameters::SetParameterProperties eliminerà tutte le proprietà che possono essere state specificate per i parametri nel comando.
rgParamProperties[in]
Matrice di strutture SSPARAMPROPS da impostare.
Valori del codice restituito
Il metodo ISSCommandWithParameters::SetParameterProperties restituisce gli stessi codici di errore del metodo ICommandProperties::SetProperties OLE DB di base.
Osservazioni:
L'impostazione delle proprietà del parametro con questo metodo è consentita per i singoli parametri in base al numero ordinale oppure con una sola chiamata a ISSCommandWithParameters::SetParameterProperties dopo che la struttura SSPARAMPROPS è stata compilata dalla matrice della proprietà.
Il metodo SetParameterInfo deve essere chiamato prima del metodo ISSCommandWithParameters::SetParameterProperties. Se si chiama SetParameterProperties(0, NULL)
, si cancellano tutte le proprietà di parametro specificate, mentre se si chiama SetParameterInfo(0,NULL,NULL)
, si cancellano tutte le informazioni di parametro che includono le proprietà che potrebbero essere associate a un parametro.
Se si chiama ISSCommandWithParameters::SetParameterProperties per specificare le proprietà per un parametro che non è del tipo DBTYPE_XML o DBTYPE_UDT viene restituito DB_E_ERRORSOCCURRED o DB_S_ERRORSOCCURRED e il campo dwStatus di tutte le matrici DBPROP contenute nella struttura SSPARAMPROPS per quel parametro viene contrassegnato con DBPROPSTATUS_NOTSET. È necessario attraversare la matrice DBPROP di ogni proprietà DBPROPSET contenuta nella struttura SSPARAMPROPS per individuare il parametro al quale DB_E_ERRORSOCCURRED o DB_S_ERRORSOCCURRED fa riferimento.
Se viene chiamato ISSCommandWithParameters::SetParameterProperties per specificare le proprietà di parametri le cui informazioni non sono state ancora impostate con SetParameterInfo, il provider restituisce E_UNEXPECTED con il messaggio di errore seguente:
Impossibile chiamare il metodo SetParameterProperties per i parametri specificati senza chiamare prima il metodo SetParameterInfo. È necessario impostare le informazioni sui parametri prima di impostare le proprietà dei parametri stessi.
Se la chiamata a ISSCommandWithParameters::SetParameterProperties contiene alcuni parametri per i quali le informazioni sono state impostate e alcuni parametri per i quali non sono state impostate, le proprietà dwStatus nella struttura DBPROPSET del set di proprietà SSPARAMPROPS verranno restituite con DBSTATUS_NOTSET.
La struttura SSPARAMPROPS viene definita nel modo seguente:
struct SSPARAMPROPS {
DBORDINAL iOrdinal;
ULONG cPropertySets;
DBPROPSET *rgPropertySets;
};
I miglioramenti apportati al motore di database a partire da SQL Server 2012 (11.X) consentono a ISSCommandWithParameters::SetParameterProperties di ottenere descrizioni più accurate dei risultati previsti. È possibile che questi risultati più accurati differiscano dai valori restituiti da ISSCommandWithParameters::SetParameterProperties nelle versioni precedenti di SQL Server. Per altre informazioni, vedere Metadata Discovery.
Membro | Descrizione |
---|---|
iOrdinal | Numero ordinale del parametro passato. |
cPropertySets | Numero di strutture DBPROPSET in rgPropertySets. |
rgPropertySets | Puntatore alla memoria nel quale restituire una matrice di strutture DBPROPSET. |