Nous utilisons ADO.NET avec des requêtes paramétrées avec SQL Server à l'aide de l'objet DBCommand, donc le symbole est @
et tout a bien fonctionné. Cependant, nous avons maintenant une requête où @
fait partie des données codées en dur. Par défaut, ADO.NET pense que c'est un paramètre et que tout se passe en forme de poire.Comment faire pour échapper le symbole de paramètre dans ADO.NET
Existe-t-il un moyen d'échapper à la @
dans ce cas-ci, il est donc traité comme faisant partie des données? J'ai essayé \@
mais cela n'a pas fonctionné non plus.
Pouvez-vous donner un exemple de la chaîne de commande – softveda
Je ne peux pas donner l'exemple exact, mais si vous avez fait quelque chose comme command.text = "SELECT * from users email_address = '[email protected]'" où les données est codé en dur. Si vous essayez d'utiliser cette commande DBC avec un DataAdapter pour remplir un DataSet, vous n'obtenez pas d'erreur mais vous obtenez un résultat vraiment inattendu: le DataTable dans le DataSet était vide et je veux dire complètement vide, pas même les définitions de colonne! Donc ce n'est pas comme si la requête renvoyait 0 enregistrements, le processus entier a déraillé quelque part. Si nous enlevons le '@' alors nous obtenons des définitions de schéma et de colonne mais 0 enregistrements (ce qui est bien). – c17r