Comment résoudre les apostrophes dans les requêtes SQL ?

Résolu
cs_Chatbour
Messages postés
764
Date d'inscription
jeudi 27 juillet 2006
Statut
Membre
Dernière intervention
6 septembre 2010
- 3 juil. 2007 à 04:30
cs_Chatbour
Messages postés
764
Date d'inscription
jeudi 27 juillet 2006
Statut
Membre
Dernière intervention
6 septembre 2010
- 3 juil. 2007 à 16:31
Salut les pros !

Je veux utiliser un TextBox pour écrire la condition d'une requête SQL :

dim Requete as StringRequete "select * from Etudiants where NomEtu '" & _ txtNom.Text & "'"

Le prblème survient lorsque je tape un nom contenant le caractère ' comme "D'Alembert"
Que faire [javascript:Insert_Emoticon('/imgs2/smile_question.gif'); ]

3 réponses

cs_DARKSIDIOUS
Messages postés
15814
Date d'inscription
jeudi 8 août 2002
Statut
Membre
Dernière intervention
4 mars 2013
131
3 juil. 2007 à 07:00
problème largement abordé et commun sur le forum ! Tu aurais fait une recherche, tu aurai déjà trouvé la réponse : il faut doubler les quotes :

"SELECT ... NomEtu = '" & replace(txtNom.Text, "'", "''") & "'"
3
Renfield
Messages postés
17287
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
27 septembre 2021
71
3 juil. 2007 à 07:51
Salut DarkSidious,

Chatbour>
3 solutions a ce 'soucis'

1 - la plus propre : utiliser des requetes parametrees
2 - doubler les quotes ,comme te l'indique notre ami
3 - utiliser des guillemets pour delimiter les valeurs :     Requete "select * from Etudiants where NomEtu """ & _ txtNom.Text & """"

Renfield
Admin CodeS-SourceS- MVP Visual Basic
3
cs_Chatbour
Messages postés
764
Date d'inscription
jeudi 27 juillet 2006
Statut
Membre
Dernière intervention
6 septembre 2010
18
3 juil. 2007 à 16:31
Merci pour vos réponses , et désolé la prochaine fois je ferai une recherche avant de poser une question..
0