Enlever les ' dans une requete sql

cs_chris81 Messages postés 589 Date d'inscription jeudi 2 octobre 2003 Statut Membre Dernière intervention 29 avril 2008 - 17 mai 2004 à 13:27
cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 - 17 mai 2004 à 22:06
bonjour,
connaissez vous un moyen pour que sql ne tienne pas compte des ' dans les requetes.
par exemple si mon client est:

l'ebeniste il me retourne une erreur a cause du ' .

je developpe en vb.net
merci

11 réponses

blissdumpweed Messages postés 79 Date d'inscription jeudi 15 avril 2004 Statut Membre Dernière intervention 8 juin 2004
17 mai 2004 à 13:31
il faut que tu fasse :

Dim Apostrophe as String
Apostrophe = Replace("L'ebeniste","'","''")

Ca remplace le ' par 2 '. aprés tu utilises la variable apostrophe qui va contenir "L''ebeniste".
0
blissdumpweed Messages postés 79 Date d'inscription jeudi 15 avril 2004 Statut Membre Dernière intervention 8 juin 2004
17 mai 2004 à 14:14
Merci à moi même pour ce magnifique conseil. Je suis obligé de me remercier moi-même parce que sinon ca m'énerve de perdre du temps pour les autres et rien avoir en retour. Parce que là je suis même pas sur que ce que j'ai dit soit correct ou non. Enfin, on va pas beaucoup avancer comme ca !
0
econs Messages postés 4030 Date d'inscription mardi 13 mai 2003 Statut Membre Dernière intervention 23 décembre 2008 24
17 mai 2004 à 14:51
mdrr laisses lui le temps de manger !
il reviendra peut-être ....

En tous cas, pour la réponse à la question, à vue de nez, je dirai que ... j'en sais rien.
Je sais juste que tu es obligé de mettre des ' parce que sql t'y obliges, et que la solution consiste à contourner le ' de l'ebeniste.

"L\'ébéniste" fonctionnerait-il ?

ou bien "L''ébéniste" (deux cotes entre L et é) comme en VB ...

Manu
0
cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 21
17 mai 2004 à 14:52
Salut,
J'aurais plutôt remplacé par un espace car les apostrophes et guillemets en sql c la chient-lit.

Cordialement

CanisLupus
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
blissdumpweed Messages postés 79 Date d'inscription jeudi 15 avril 2004 Statut Membre Dernière intervention 8 juin 2004
17 mai 2004 à 15:10
econs, j'ai dit ca pcq une fois sur deux quand je propose qqchose on me répond pas donc c'est agacant. A ce moment là plus personne ne répond aux question des autres et voilà..

Dans mes prog de BD les doubles apostrophes ca marche très bien, ca revient au même que remplacer par tout autre caractère...

Enerveusement !
Blissdumpweed
0
cs_chris81 Messages postés 589 Date d'inscription jeudi 2 octobre 2003 Statut Membre Dernière intervention 29 avril 2008 2
17 mai 2004 à 15:41
excusez moi de ne pas avoir repondu plus vite mais je suis en plein debuggage :(

sinon je vous remercie pour votre aide mais la bonne reponse est
Dim ReqSelect As String "SELECT .....WHERE((AppelsClients.Nomcli) " & Chr(34) & ComboBox1.Text & Chr(34) & " ) ORDER BY DateAppel DESC"

ca ca marche. A+
0
cs_chris81 Messages postés 589 Date d'inscription jeudi 2 octobre 2003 Statut Membre Dernière intervention 29 avril 2008 2
17 mai 2004 à 15:41
excusez moi de ne pas avoir repondu plus vite mais je suis en plein debuggage :(

sinon je vous remercie pour votre aide mais la bonne reponse est
Dim ReqSelect As String "SELECT .....WHERE((AppelsClients.Nomcli) " & Chr(34) & ComboBox1.Text & Chr(34) & " ) ORDER BY DateAppel DESC"

ca ca marche meme en .Net.
A+
0
cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 21
17 mai 2004 à 20:25
Dans ce cas, comme je suis fainéant du clavier, je tape """" à la place de chr(34). Ca marche aussi bien et ça fait moins de touches à taper.

Mais alors si dans ta combobox1.text tu as une adresse comme celle-là : Résidence "L'albatros", ou alors : ''sql' c "pas pourtant simple"' tu fais comment ?

Allez, je te laisses cogiter qques temps. La réponse (ultra simple) si quelqu'un suit ce post et qui marche tout le temps (en .net, g pas testé mais c que du sql, donc ...).

Cordialement

CanisLupus
0
cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 21
17 mai 2004 à 20:38
heu, c pas le quelqu'un qui doit marcher tout le temps lol ;-)

Cordialement

CanisLupus
0
cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 21
17 mai 2004 à 22:03
Bon, puisque je vois que personne n'a trouvé, je vais la jouer comme chris81 :

Merci de votre participation mais voilà THE SOLUTION SIMPLISSIME :

Dim rq As String rq "select * from table1 where libelle '" & Replace(Text1.Text, "'", "''") & "'"

Je l'ai testée avec des trucs comme suit :

résidence "L'albatros"
L'ébéniste
'sql' c "pourtant simple"
"sql ?' c ''finger" in "'the noze !!!

Je sais, ici, on ne voit pas trop la différence entre les quotes et les guillemets mais faites un copier coller dans un projet et vous la verrez.

Cordialement

CanisLupus
0
cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 21
17 mai 2004 à 22:06
Un grand merci quand même à qui avait le début de THE SOLUTION SIMPLISSIME

Cordialement

CanisLupus
0
Rejoignez-nous