Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Définit les propriétés de paramètre par paramètre par ordinal ou définit des propriétés de paramètre en bloc en spécifiant un tableau de structures SSPARAMPROPS.
Syntaxe
HRESULT SetParameterProperties(
DB_UPARAMS cParams,
SSPARAMPROPS rgParamProperties[]);
Les arguments
cParams[in]
Nombre de structures SSPARAMPROPS dans le tableau rgParamProperties . Si ce nombre est égal à zéro, ISSCommandWithParameters::SetParameterProperties supprime toutes les propriétés qui ont peut-être été spécifiées pour tous les paramètres de la commande.
rgParamProperties[in]
Tableau de structures SSPARAMPROPS à définir.
Codet de retour
La ISSCommandWithParameters::SetParameterProperties méthode retourne les mêmes codes d’erreur que la méthode CORE OLE DB ICommandProperties ::SetProperties .
Remarques
La définition des propriétés de paramètre avec cette méthode est autorisée par ordinal, ou avec un seul ISSCommandWithParameters::SetParameterProperties appel une fois que le SSPARAMPROPS a été généré à partir du tableau de propriétés.
La méthode SetParameterInfo doit être appelée avant d’appeler la ISSCommandWithParameters::SetParameterProperties méthode. L’appel SetParameterProperties(0, NULL) efface toutes les propriétés de paramètre spécifiées, tout en appelant SetParameterInfo(0,NULL,NULL) efface toutes les informations de paramètre, y compris les propriétés susceptibles d’être associées à un paramètre.
L’appel ISSCommandWithParameters::SetParameterProperties à spécifier des propriétés pour un paramètre qui n’est pas de type DBTYPE_XML ou DBTYPE_UDT retourne DB_E_ERRORSOCCURRED ou DB_S_ERRORSOCCURRED et marque le champ dwStatus de tous les DBPROPs contenus dans SSPARAMPROPS pour ce paramètre avec DBPROPSTATUS_NOTSET. Le tableau DBPROP de chaque DBPROPSET contenu dans SSPARAMPROPS doit être parcouru pour détecter le paramètre auquel le DB_E_ERRORSOCCURRED ou DB_S_ERRORSOCCURRED fait référence.
Si ISSCommandWithParameters::SetParameterProperties elle est appelée pour spécifier les propriétés des paramètres dont les informations de paramètre n’ont pas encore été définies avec SetParameterInfo, le fournisseur retourne E_UNEXPECTED avec le message d’erreur suivant :
La méthode SetParameterProperties ne peut pas être appelée pour les paramètres spécifiés sans appeler la méthode SetParameterInfo. Les informations de paramètre doivent être définies avant de définir les propriétés du paramètre.
Si l’appel à ISSCommandWithParameters::SetParameterProperties contient certains paramètres où les informations de paramètre ont été définies et certains paramètres où les informations de paramètre n’ont pas été définies, les propriétés dwStatus dans le jeu de propriétés DBPROPSET du jeu de propriétés SSPARAMPROPS retournent avec DBSTATUS_NOTSET.
La structure SSPARAMPROPS est défini comme suit :
struct SSPARAMPROPS {
DBORDINAL iOrdinal;
ULONG cPropertySets;
DBPROPSET *rgPropertySets;
};
Les améliorations apportées au moteur de base de données à partir de SQL Server 2012 permettent à ISSCommandWithParameters ::SetParameterProperties d’obtenir des descriptions plus précises des résultats attendus. Ces résultats plus précis peuvent différer des valeurs retournées par ISSCommandWithParameters ::SetParameterProperties dans les versions précédentes de SQL Server. Pour plus d’informations, consultez La découverte des métadonnées.
| Membre | Descriptif |
|---|---|
| iOrdinal | Position ordinale du paramètre transmis. |
| cPropertySets | Nombre de structures DBPROPSET dans rgPropertySets. |
| rgPropertySets | Pointeur vers la mémoire dans lequel retourner un tableau de structures DBPROPSET. |