Apostrophe dans une chaine de caractéres de Requet !!!
amine1234Z
Messages postés134Date d'inscriptionsamedi 26 mai 2007StatutMembreDernière intervention31 mai 2010
-
28 avril 2008 à 21:35
cs_kazer04
Messages postés182Date d'inscriptionjeudi 14 juillet 2005StatutMembreDernière intervention14 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);
}
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
@+
cs_kazer04
Messages postés182Date d'inscriptionjeudi 14 juillet 2005StatutMembreDernière intervention14 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
@+