Prob requete sql avec parametres

Résolu
bdgta Messages postés 63 Date d'inscription jeudi 2 janvier 2003 Statut Membre Dernière intervention 8 septembre 2008 - 9 juin 2006 à 14:29
cs_sim51 Messages postés 240 Date d'inscription dimanche 31 octobre 2004 Statut Membre Dernière intervention 31 décembre 2006 - 9 juin 2006 à 19:22
Bonjour, je souhaiterais savoir comment empecher un caractere spécial d'etre entré, ce serait le simple guillemet ( ' ) car j'ai fait une interface de saisie avec des combobox.

En utilisant la methode ADO.

Si la personne met ce symbole la requete sql devient fausse

ex: :

   SQL.add ('insert into BDD (nom) values (" '+ texte.txt + " ' ; ) ;

Ce qui ferait insert into BDD (nom) values ("l'arbre");

Donc erreur

Merci de votre aide

[:)]

2 réponses

ni69 Messages postés 1418 Date d'inscription samedi 12 juin 2004 Statut Membre Dernière intervention 5 juillet 2010 12
9 juin 2006 à 15:19
Salut, utilise la fonction QuotedStr(MyString) pour entourer ton texte
Un caractère simple (') est inséré au début et à la fin de MyString et les guillemets simples dans la chaîne sont répétés.

PS : j'imagine que tu as écris ceci sans faire attention, mais on ne peut pas charger le texte contenu dans un fichier .txt directement comme tu l'as fait ici : SQL.add ('insert into BDD (nom) values (" '+texte.txt + " ' ; ) ;

@+
Nico {www.ni69.info}

<hr size="2" width="100%" />
N'oubliez pas de cliquer sur Réponse Acceptée lorsque la réponse vous convient !
3
cs_sim51 Messages postés 240 Date d'inscription dimanche 31 octobre 2004 Statut Membre Dernière intervention 31 décembre 2006 2
9 juin 2006 à 19:22
Salut,
Au lieu d'empêcher d'utiliser le caractère ' tu peux utiliser pour ta requête SQL un remplaçant du '.
En effet ce problème étant courant les developpeur de bdd ont cherché à remplacé ce caractère du language. Ainsi sous postgresql $$ peut remplacer le '.


PS : pour info des que tu mets un ' place un / devant(ou \ je ne sais plus dsl) exemple : 'l/'apostrophe est enregistrée dans ta base'.
0
Rejoignez-nous