[java][access] insérer des caratères spéciaux

eric -  
 eric -
Bonjour,

je voudrais insérer des données dans une base access avec du java, or dans ma requête INSERT l'un des champs contient une simple cote : '

Query_insert = "INSERT INTO ma_table VALUES ('" + argument + "');

avec :
String argument = "c'est un test";

à l'exécution j'ai une erreur :
[Microsoft][ODBC Microsoft Access Driver] Syntax error

j'ai essayé de mettre un backslash devant la simple cote mais c'est pareil...
A voir également:

5 réponses

blux Messages postés 27912 Date d'inscription   Statut Modérateur Dernière intervention   3 362
 
Salut,

les valeurs ne sont pas obligatoirement entre simple quote, on peut mettre des guillemets.
insert into table2 values("toto");

A+ Blux
 "Les cons, ça ose tout.
C'est même à ça qu'on les reconnait"
0
eric
 
??? je ne comprend pas, ma requête est une chaine de caractère, donc elle est déjà entourée de guillements. Je ne peux donc pas rajouter des guillements à l'intérieur ?
0
blux Messages postés 27912 Date d'inscription   Statut Modérateur Dernière intervention   3 362
 
Ben si !

En doublant les guillemets "" ou en concaténant un guillemet avec un code ascii 34, si cela pose problème...

C'est le principe de l'annulation des caractères spéciaux : on les double...

Cela m'étonnerait que Java ne sache pas gérer.

A+ Blux
 "Les cons, ça ose tout.
C'est même à ça qu'on les reconnait"
0
Utilisateur anonyme
 
Bonjour,
peut-être à l'écriture, remplacer tous les simple cote par un caractère accepté par mysql (par exemple #), et à la lecture, remplacer tous les # par un simple cote
a+
0
eric
 
c'est une idée mais j'esperais ne pas en arriver là... il doit bien y avoir une solution.
0

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

Posez votre question
eric
 
La réponse de Monsieur Blub était la bonne, je n'avais pas très bien compris...

ça fonctionne bien en doublant les simples cotes !

Merci du coup d'pouce
0