Linq to SQL - question du guillemet double
-
19-08-2019 - |
Question
J'ai un problème. Si j'ai une zone de texte dans ASP.NET et que j'entre deux guillemets à la fin de la phrase, j'obtiens une erreur dans mon instruction SQL. J'ai suivi le profileur SQL mais sans succès.
par exemple. Le renard paresseux saute par-dessus le chien "". Cela échoue ....
" "Le" paresseux " le renard saute par-dessus le chien. Cela semble bien
Tous les indicateurs bienvenus
La solution
Vous devriez probablement poster le message d'erreur exact (et, si possible, un code illustratif). Notez également qu'avec LINQ-to-SQL, vous n'avez pas besoin du profileur SQL pour voir la trace:
ctx.Log = Console.Out; // job done
Autres conseils
Etes-vous en train de concaténer votre entrée utilisateur dans l’instruction SQL directement? Si c'est le cas, c'est certainement le problème.
Si vous utilisez à la place une instruction SQL paramétrée (c.-à-d. envoyez les données de l'utilisateur en tant que paramètre plutôt que directement dans le code SQL), tout devrait bien se passer. De cette façon, vous vous prémunissez également contre les attaques par injection SQL ...
0x3A28213A
0X6339392C
0X7363682E