Gestion des Apostrophes [Résolu]

Messages postés
99
Date d'inscription
jeudi 17 janvier 2008
Statut
Membre
Dernière intervention
25 juillet 2013
- - Dernière réponse : NHenry
Messages postés
14570
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
21 octobre 2019
- 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
Afficher la suite 

3 réponses

Meilleure réponse
Messages postés
14570
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
21 octobre 2019
136
3
Merci
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
---

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 189 internautes nous ont dit merci ce mois-ci

Commenter la réponse de NHenry
Messages postés
1863
Date d'inscription
lundi 28 novembre 2005
Statut
Modérateur
Dernière intervention
14 février 2015
28
3
Merci
@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é. -

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 189 internautes nous ont dit merci ce mois-ci

Commenter la réponse de krimog
Messages postés
14570
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
21 octobre 2019
136
3
Merci
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
---

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 189 internautes nous ont dit merci ce mois-ci

Commenter la réponse de NHenry