Maison > développement back-end > C++ > Pourquoi l'ordre des paramètres est-il important dans OleDbCommand lors de l'utilisation de commandes de texte ?

Pourquoi l'ordre des paramètres est-il important dans OleDbCommand lors de l'utilisation de commandes de texte ?

Mary-Kate Olsen
Libérer: 2024-12-26 15:38:16
original
910 Les gens l'ont consulté

Why Does Parameter Order Matter in OleDbCommand When Using Text Commands?

Ordre et priorité des paramètres OleDbCommand

En tentant de déboguer une requête, il a été découvert que l'ordre des paramètres dans une OleDbCommand peut affecter la résultats. Lorsque les paramètres ont été ajoutés dans le désordre :

cmd.Parameters.Add("@dtDebut", OleDbType.Date).Value = dateTraitementDebut;
cmd.Parameters.Add("@dtFin", OleDbType.Date).Value = dateTraitementFin;
cmd.Parameters.Add("@id", OleDbType.Integer).Value = idSociete;
Copier après la connexion

aucun résultat n'a été renvoyé. Cependant, lorsque les paramètres ont été ajoutés dans le même ordre qu'ils sont apparus dans la requête :

cmd.Parameters.Add("@id", OleDbType.Integer).Value = idSociete;
cmd.Parameters.Add("@dtDebut", OleDbType.Date).Value = dateTraitementDebut;
cmd.Parameters.Add("@dtFin", OleDbType.Date).Value = dateTraitementFin;
Copier après la connexion

la requête a fonctionné correctement.

Cette différence provient du fait qu'OleDbCommand ne prend pas en charge les noms nommés. paramètres pour les commandes de texte. Comme documenté sur MSDN :

Le fournisseur OLE DB .NET ne prend pas en charge les paramètres nommés pour transmettre des paramètres à une instruction SQL ou à une procédure stockée appelée par un OleDbCommand lorsque CommandType est défini sur Text. Dans ce cas, l'espace réservé au point d'interrogation (?) doit être utilisé.

Par conséquent, lors de l'utilisation de commandes de texte avec OleDbCommand, l'ordre dans lequel les paramètres sont ajoutés à la collection est crucial. L'ordre doit correspondre directement à l'ordre des points d'interrogation fictifs dans le texte de la commande.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal