Gestion des Apostrophes [Résolu]

cs_warzet 99 Messages postés jeudi 17 janvier 2008Date d'inscription 25 juillet 2013 Dernière intervention - 28 mai 2012 à 10:12 - Dernière réponse : NHenry 14133 Messages postés vendredi 14 mars 2003Date d'inscription 22 avril 2018 Dernière intervention
- 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

Répondre au sujet
NHenry 14133 Messages postés vendredi 14 mars 2003Date d'inscription 22 avril 2018 Dernière intervention - 28 mai 2012 à 12:37
+3
Utile
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
---
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de NHenry
krimog 1863 Messages postés lundi 28 novembre 2005Date d'inscription 14 février 2015 Dernière intervention - 29 mai 2012 à 15:33
+3
Utile
@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é. -
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de krimog
NHenry 14133 Messages postés vendredi 14 mars 2003Date d'inscription 22 avril 2018 Dernière intervention - 31 mai 2012 à 20:40
+3
Utile
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
---
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de NHenry

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.