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, "'", "''") & "'"
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
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
cs_Chatbour Messages postés 764 Date d'inscription jeudi 27 juillet 2006 Statut Membre Dernière intervention 6 septembre 2010 19
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..
Rejoignez-nous