Je viens de commencer à travailler avec une application que j'ai héritée de quelqu'un d'autre et j'ai quelques problèmes. L'application est écrite en C# et s'exécute dans VS2010 avec le framework 3.5. Je ne peux pas exécuter l'application sur ma machine pour la déboguer, car elle ne reconnaît pas la manière dont les paramètres sont référencés lors de l'écriture des requêtes de la base de données.
Par exemple, chaque fois qu'il y a une requête SQL ou DB2, elle est écrite comme ceci :
using (SqlCommand command = new SqlCommand(
"SELECT Field1 FROM Table1 WHERE FieldID=@FieldID", SQLconnection))
{
command.Parameters.AddWithValue("FieldID", 10000);
SqlDataReader reader = command.ExecuteReader();
...
Vous remarquerez que l'instruction "parameters.AddWithValue("FieldID", 10000) ;" n'inclut pas le symbole "@" du texte de la commande originale. Lorsque je l'exécute sur mon ordinateur, je reçois un message d'erreur indiquant que le paramètre "FieldID" est introuvable.
Je change cette ligne :
command.Parameters.AddWithValue("FieldID", 10000);
A ceci :
command.Parameters.AddWithValue("@FieldID", 10000);
Et tout va bien... jusqu'à ce que l'appel SQL suivant produise la même erreur. De toute évidence, il doit s'agir d'un paramètre dans Visual Studio, mais je ne trouve rien à ce sujet sur Internet. La moitié des exemples d'ajout de paramètres SQL sont écrits en incluant le "@" et l'autre moitié ne l'inclut pas. Il est fort probable que je ne sache pas quoi chercher.
Le dernier choix est de modifier chaque requête pour utiliser le "@" devant le nom du paramètre, mais il s'agit de l'application de transport et d'opérations utilisée pour gérer les expéditions de la société et il y a littéralement des milliers de paramètres. Difficile d'expliquer le retour sur investissement de votre projet lorsque la réponse à la question du directeur "Où en êtes-vous ?" est "Je travaille dur depuis une semaine et j'ai presque commencé".
Quelqu'un a-t-il rencontré ce problème, ou savez-vous comment désactiver ce paramètre afin de résoudre les noms de paramètres sans le "@" ?