Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Imposta le proprietà dei parametri per ogni parametro in base all'ordinale o imposta le 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 potrebbero essere state specificate per tutti i parametri nel comando.
rgParamProperties[in]
Matrice di strutture SSPARAMPROPS da impostare.
Valori del codice restituito
Il ISSCommandWithParameters::SetParameterProperties metodo restituisce gli stessi codici di errore del metodo OLE DB ICommandProperties::SetProperties di base.
Osservazioni:
L'impostazione delle proprietà dei parametri con questo metodo è consentita per ogni parametro in base all'ordinale o con una singola ISSCommandWithParameters::SetParameterProperties chiamata dopo la compilazione di SSPARAMPROPS dalla matrice di proprietà.
Il metodo SetParameterInfo deve essere chiamato prima di chiamare il ISSCommandWithParameters::SetParameterProperties metodo . La chiamata SetParameterProperties(0, NULL) cancella tutte le proprietà dei parametri specificate, mentre la chiamata SetParameterInfo(0,NULL,NULL) cancella tutte le informazioni sui parametri, incluse le proprietà che potrebbero essere associate a un parametro.
La chiamata ISSCommandWithParameters::SetParameterProperties a per specificare le proprietà per un parametro che non è di tipo DBTYPE_XML o DBTYPE_UDT restituisce DB_E_ERRORSOCCURRED o DB_S_ERRORSOCCURRED e contrassegna il campo dwStatus di tutti i DBPROP contenuti in SSPARAMPROPS per tale parametro con DBPROPSTATUS_NOTSET. La matrice DBPROP di ogni DBPROPSET contenuta in SSPARAMPROPS deve essere attraversata per rilevare il parametro a cui fa riferimento il DB_E_ERRORSOCCURRED o DB_S_ERRORSOCCURRED.
Se ISSCommandWithParameters::SetParameterProperties viene chiamato per specificare le proprietà dei parametri le cui informazioni sui parametri non sono ancora state impostate con SetParameterInfo, il provider restituisce E_UNEXPECTED con il messaggio di errore seguente:
Il metodo SetParameterProperties non può essere chiamato per i parametri specificati senza prima chiamare il metodo SetParameterInfo. Le informazioni sui parametri devono essere impostate prima di impostare le proprietà del parametro.
Se la chiamata a ISSCommandWithParameters::SetParameterProperties contiene alcuni parametri in cui sono state impostate le informazioni sui parametri e alcuni parametri in cui le informazioni sui parametri non sono state impostate, le proprietà dwStatus nel DBPROPSET del set di proprietà SSPARAMPROPS restituiranno 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 consentono a ISSCommandWithParameters::SetParameterProperties di ottenere descrizioni più accurate dei risultati previsti. Questi risultati più accurati possono differire dai valori restituiti da ISSCommandWithParameters::SetParameterProperties nelle versioni precedenti di SQL Server. Per altre informazioni, vedere Individuazione metadati.
| 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. |