Re: SQL grosse erreur ou mal codé ?

Posté par bofkill le 13/1/2006 9:48:19
C'est normal, l'apostrophe est un cractère spécial avec SQL.

En gros, imagine la chose suivante.
nomRue = "Rue Jeanne d'Arc"

req = "UPDATE MonFichier SET rue = '"+nomRue+"'"

Que donne le texte de la requète au final ??
UPDATE MonFichier SET rue = 'Rue Jeanne d'Arc'

La on voit bien que ça pose un problème car la chaine a mettre dans rue serait 'Rue Jeanne d', et derriere Arc serait considéré comme une commande SQL.

La solution est d'échapper l'apostrophe, c'est à dire d'y ajouter un antislash devant (à moins que je ne me trompe, je ne suis pas sûr à 100% que le caractère d'échappement en SQL soit l'antislash).

Il faut donc modifier les textes de tes variables avant de les insérer dans ta requete :
nomRue = Remplace(nomRue, "'", "\'")

Bon dev ^^

Cette contribution était de : http://old.wdforge.org/newbb/viewtopic.php?forum=17&topic_id=3359&post_id=14236