ISSCommandWithParameters::SetParameterProperties in SQL Server Native Client (OLE DB)
Si applica a:SQL ServerDatabase SQL diAzure Istanzagestita di SQL di Azure Azure Synapse Analytics PlatformSystem (PDW)
Importante
SQL Server Native Client (spesso abbreviato SNAC) è stato rimosso da SQL Server 2022 (16.x) e SQL Server Management Studio 19 (SSMS). Non è consigliabile usare sia il provider OLE DB SQL Server Native Client (SQLNCLI o SQLNCLI11) che il provider Microsoft OLE DB legacy per SQL Server (SQLOLEDB). Passare al nuovo Microsoft OLE DB Driver (MSOLEDBSQL) per SQL Server in futuro.
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.
Chiamando ISSCommandWithParameters::SetParameterProperties 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. È 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. |
Vedi anche
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per