Maison > développement back-end > C++ > L'ordre des paramètres est-il important dans les requêtes OleDbCommand utilisant des espaces réservés de point d'interrogation ?

L'ordre des paramètres est-il important dans les requêtes OleDbCommand utilisant des espaces réservés de point d'interrogation ?

Barbara Streisand
Libérer: 2024-12-27 07:53:08
original
310 Les gens l'ont consulté

Does Parameter Order Matter in OleDbCommand Queries Using Question Mark Placeholders?

Ordre et priorités des paramètres OleDbCommand

En tentant de déboguer une requête pendant 40 minutes, il a été découvert que l'ordre des paramètres joue un rôle crucial. La requête en question est la suivante :

SELECT * FROM tblSomething WHERE id = @id AND debut = @dtDebut AND fin = @dtFin
Copier après la connexion

Cependant, lorsque les paramètres ont été ajoutés dans l'ordre suivant :

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

aucun résultat n'a été renvoyé. L'inversion de l'ordre de @dtDebut et @dtFin a résolu le problème.

Il était initialement supposé que les paramètres nommés avaient été introduits pour éviter de telles dépendances d'ordre. Cependant, selon 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, il est essentiel de maintenir l'ordre correct des paramètres lors de l'utilisation d'OleDbCommand avec des paramètres spécifiés à l'aide de l'espace réservé au point d'interrogation.

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