A mon avis seul le ' est a remplac� dans une chaine (il faut le doubler).
Tu peux soit utiliser une fonction 'replace' de ta fabrique (ou alors utiliser le jdk 
1.4 qui propose ce type de fonction)

Plus simple, tu peux aussi utiliser un PreparedStatement (en lieu est place d'un 
Statement). JDBC(enfin, le driver qui l'impl�mente) se charge alors de doubler les '.

PreparedStatement pstmt = conn.prepareStatement("insert into Table(Col1, Col2) values 
(?,?)";
pstmt.setString(1, "Une chaine avec ' et \" et puis ?.....");
pstmt.setString(2, "Une autre");
pstmt.executeQuery();

Le seul inconvenient que j'ai trouv� au PreparedStatement concerne les Dates (Quand on 
fait un pstmt.setDate). En effet certains drivers (pas tous quand meme) inversent mois 
et jours (on obtient alors le 1 mars � la place du 3 janvier par exemple). La solution 
que j'ai trouv� est alors d'utiliser un SimpleDateFormat et de faire un setString 

-----Message d'origine-----
De : Herve AGNOUX [mailto:[EMAIL PROTECTED]]
Envoy� : lundi 18 mars 2002 21:06
� : [EMAIL PROTECTED]
Objet : JDBC et les ' et les "


Bonjour,

Je poursuis mes questions de d�butant heureux de l'�tre avec les 
"statements" "JDBC".

Je voudrais mettre des Strings saisis par des utilisateurs dans des 
champs de bases.

Bien entendu, les utilisateurs peuvent mettre des ' et " et encore  
d'autres caract�res bizarres auxquels je n'ai m�me pas pens�, qui 
provoquent des Syntax Error dans mes requetes SQL, et j'imagine qu'il 
y a un truc tout fait qui me "escape" ces caract�res... Mais je n'ai 
rien trouv�. O� est-ce ?

Merci d'avance.

--
Sur le Web, tout de suite.
Herve AGNOUX - diaam informatique
http://www.diaam-informatique.com

Répondre à