Apostrophe dans une chaine de caractéres de Requet !!!

amine1234Z Messages postés 134 Date d'inscription samedi 26 mai 2007 Statut Membre Dernière intervention 31 mai 2010 - 28 avril 2008 à 21:35
cs_kazer04 Messages postés 182 Date d'inscription jeudi 14 juillet 2005 Statut Membre Dernière intervention 14 mars 2011 - 29 avril 2008 à 12:33
Bonjour
voila mon probléme c'est au niveau du resultat de la requet:
la esultat doit retourner une chaine de caractére : "ppppppp"
voila le code de clicke sur la jcobmbobox :

//MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
  void jcbIntit_actionPerformed(ActionEvent e) {
String Intitule= "'"+(String)jcbIntit.getSelectedItem()+"'";
String a,b,c,d,f,g;
try {
st = conn.createStatement();
//Execution de la requete
ResultSet rs = st.executeQuery("SELECT * FROM Projet WHERE IntituléProjet like"+Intitule);
while (rs.next()) {
a=rs.getString(2);
  b=rs.getString(3);//année
  c=rs.getString(4);//domaine
  d=rs.getString(5);//region
  f=rs.getString(6);//organisme coordonateur
  g=rs.getString(7);//departement
  txt.setText(a);
  jcbDomaine.setSelectedItem(c);
  jcbRegion.setSelectedItem(d);
  jcbOrgaCoo.setSelectedItem(f);
  jcbDepartement.setSelectedItem(g);
  txtAnnee.setText(b);
}

}
catch (SQLException fe){
   System.out.println(fe.toString());
}
  }
//MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM

le probleme c'est que j'ai dans ma base des chaine de caractéres qui continet des apostrophe comme "pppp'ppp".*
et ca c'est le probleme puisque j'interpraite ma cahine par :
String Intitule= "'"+(String)jcbIntit.getSelectedItem()+"'";
c'est a dire 'ppppp' et puique qu'il ya des apostrophe ca devien 'ppp'ppp'
ce qui lance l'erreur suivant:

java.sql.SQLException: [Microsoft][Pilote ODBC Microsoft Access] Erreur de syntaxe (opérateur absent) dans l'expression 'IntituléProjet like'Selection de portes grffes d'agrumes tolérants à la salinité''.

SVP quelqun peux m'aider sa sera gentille
MERCI
@+

1 réponse

cs_kazer04 Messages postés 182 Date d'inscription jeudi 14 juillet 2005 Statut Membre Dernière intervention 14 mars 2011
29 avril 2008 à 12:33
Utilise un prepare statement
exp:
String Intitule= "'"+(String)jcbIntit.getSelectedItem()+"'";

String reqInsert= "SELECT * FROM Projet WHERE IntituléProjet like ?;";
PreparedStatement pst = this.get_StringConnexion().prepareStatement(reqInsert);
pst.setString(1, Intitule);
pst.executeUpdate();
//this.get_StringConnexion()
c est un objet qui me renvoie une Chaine de connexion tu peut facilement la remoplace
@+
0
Rejoignez-nous