Problème d'insertion d'un string dans bbd mysql grace à HSQLDB

amacau Messages postés 3 Date d'inscription jeudi 5 octobre 2006 Statut Membre Dernière intervention 5 février 2007 - 5 févr. 2007 à 14:05
amacau Messages postés 3 Date d'inscription jeudi 5 octobre 2006 Statut Membre Dernière intervention 5 février 2007 - 5 févr. 2007 à 22:12
Salut,

j'ai un problème avec l'insertion d'un String dans une base de données HSQLDB.

J'obtiens par exemple l'execption suivante :

java.sql.SQLException: Unexpected token: S in statement [INSERT INTO newsData (title) VALUES ('TEXT-Moody's]


A chaque fois qu'il y a le caractère   '   dans le
string, il l'interprète comme la fin du texte à ajouter, donc le mot
suivant le caractère ' , ici la lettre s, devient unexpected token.


Le code correspondant à l'insertion est le suivant

(le 1er title est le nom de la colonne et le 2me title est le String pris en variable d'entrée) :


Statement statement = connexion.createStatement() ;

statement.executeUpdate("INSERT INTO newsData (title) VALUES ('"+title+"')");

statement.close();


Les éléments de la colonne title sont des VARCHAR.


Pouvez vous m'indiquer comment faire pour me debrouiller avec ces apostrophes au milieu du String?


Merci d'avance et n'hesitez pas à me demander plus d'infos sur mon code si nécessaire

5 réponses

cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
5 févr. 2007 à 15:29
Normal vu que les quotes sont des caractères spéciaux !

Il te faut donc les doubler pour que le SQL en tienne compte :

[INSERT INTO newsData (title) VALUES ('TEXT-Moody''s']
0
amacau Messages postés 3 Date d'inscription jeudi 5 octobre 2006 Statut Membre Dernière intervention 5 février 2007
5 févr. 2007 à 18:37
Merci de ton aide.


Si j'ai bien compris, c'est donc le String d'entrée (que j'ai récupérer
depuis un fichier csv) qu'il faut que je modifie avant de l'envoyer
dans la requete. Mais lorsque je voudrais l'afficher, faudra-t-il que
je remplace à nouveau les '' par ' ?


Merci encore.
0
JBAware Messages postés 174 Date d'inscription lundi 23 septembre 2002 Statut Membre Dernière intervention 6 avril 2011 1
5 févr. 2007 à 19:29
Affiche les après ton select et tu verras ;) 

JB...
0
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
5 févr. 2007 à 21:13
Non, les quote doublé c'est juste pour la requête, après les résultats qu'elle te donnera sera en simple quote.
0

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

Posez votre question
amacau Messages postés 3 Date d'inscription jeudi 5 octobre 2006 Statut Membre Dernière intervention 5 février 2007
5 févr. 2007 à 22:12
merci de votre aide. le problème est résolu.


tonio
0
Rejoignez-nous