Gestion des Apostrophes

Résolu
cs_warzet Messages postés 99 Date d'inscription jeudi 17 janvier 2008 Statut Membre Dernière intervention 25 juillet 2013 - 28 mai 2012 à 10:12
NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 - 31 mai 2012 à 20:40
Bonjour à tous. Voilà j'ai un gros soucis qui me tracasse, c'est la gestion des apostrophes. Nous avons chez nous des nom comme N'guessan, N'goran etc, j'ai pour éviter le plantage utilisé [txtMatricule.Text.Replace("'", @"\#")));]/quote et cela marche mais mon souci, comment récupérer la liste dans un DataGridView sans les #. J sollicite votre aide pour m'orienter. Merci

3 réponses

NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 159
28 mai 2012 à 12:37
Bonjour,

Cela s'appelle une injection SQL.
En clair, l' ' te fais sortir de ta chaine, si tu veux, tu peux remplacer par :
Replace("'",@"\'")
Comme ça tu récupère la chaine correctement.

Sinon, regardes du coté des requêtes paramétrées.

---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS, celui-ci pour bien poser votre question ou encore celui-ci pour les PFE et autres exercices[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : )
[*]En VB.NET pensez à activer Option Explicit et Option Strict (propriété du projet) et à retirer l'import automatique de l'espace de nom Microsoft.VisualBasic (onglet Références dans les propriétés du projet).
[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés./list
---
3
krimog Messages postés 1860 Date d'inscription lundi 28 novembre 2005 Statut Membre Dernière intervention 14 février 2015 49
29 mai 2012 à 15:33
@NHenry : L'échapement avec \ ne doit pas fonctionner avec tous les SGBD

En SQL standard, le caractère ' n'est pas écrit \', mais doublé : ''
Replace("'", "''");


Sinon, regardes du coté des requêtes paramétrées.

+1000

Les requêtes paramétrées, ça simplifie
- L'écriture de la requête
- Les caractères spéciaux
- La gestion des types
- La maintenabilité
- La protection face à l'injection

Et a les défauts suivants :
- Ca te fait gagner du temps, ce qui te permet de rentrer plus tôt chez toi, et même avant ta femme/copine, qui va alors râler parce que tu as lancé la machine à laver, mais à 40° et non à 30°.

Krimog : while (!(succeed = try())) ;
- Nous ne sommes pas des décodeurs ambulants. Le style SMS est prohibé. -
3
NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 159
31 mai 2012 à 20:40
Bonjour,

Et a les défauts suivants :
- Ca te fait gagner du temps, ce qui te permet de rentrer plus tôt chez toi, et même avant ta femme/copine, qui va alors râler parce que tu as lancé la machine à laver, mais à 40° et non à 30°.


XD, je n'avais pas vu cet inconvénient (bon, je ne risque rien de ce coté là non plus).

---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS, celui-ci pour bien poser votre question ou encore celui-ci pour les PFE et autres exercices[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : )
[*]En VB.NET pensez à activer Option Explicit et Option Strict (propriété du projet) et à retirer l'import automatique de l'espace de nom Microsoft.VisualBasic (onglet Références dans les propriétés du projet).
[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés./list
---
3
Rejoignez-nous