Echappement

Signaler
Messages postés
2
Date d'inscription
mardi 26 avril 2005
Statut
Membre
Dernière intervention
10 juillet 2006
-
Messages postés
2
Date d'inscription
mardi 26 avril 2005
Statut
Membre
Dernière intervention
10 juillet 2006
-
Salut à tous,

J'ai un petit souci. J'ai un winform qui rempli une BD MySQL. Le problème c'est que si l'utilisateur saisi un ' ou " tout fout le camp...
Quelqu'un aurait il une idée sur la facon optimale d'échapper ces caractères (et tout les autres qui pourraient flinguer mes requètes)

Merci

4 réponses

Messages postés
143
Date d'inscription
vendredi 28 janvier 2005
Statut
Membre
Dernière intervention
25 octobre 2006

tu peux essayer de d'ajouter le caractere \ avant chaque ' et pour " tu fait \'\'
Messages postés
4936
Date d'inscription
lundi 17 février 2003
Statut
Modérateur
Dernière intervention
14 février 2014
37
mouaip... le mieux est de laisser faire l'objet DbCommand... en utilisant des paramètres.

genre : select * from maTable where monChamp = @valeur

et tu auras : dcCmd.Parameters["@valeur"].DefaultValue = "ma chaine de caractères avec des ' et des "... facile non ?";

Sébastien FERRAND (
blog)
Consultant Indépendant
[Microsoft MVP Visual C#]
Messages postés
6351
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
97
Salut,

+1 pour l'utilisation des requêtes paramétrées !

Avec un ? au lieu du @ pour le nom du paramètre pour MySQL :-)

/*
coq
MVP Visual C#
*/
Messages postés
2
Date d'inscription
mardi 26 avril 2005
Statut
Membre
Dernière intervention
10 juillet 2006

Merci pour toutes ces réponses. J'aurai effectivement du utiliser les requetes parametrées mais j'ai eu la fleme de tout refaire (ce sera pour la prochaine fois ).

J'ai trouvé mon bonheur dans la fonction HttpUtility.HtmlEncode mais merci encore.

a+