Insert into

ikramta Messages postés 151 Date d'inscription lundi 24 décembre 2007 Statut Membre Dernière intervention 10 février 2016 - 21 août 2008 à 12:12
mounis2400 Messages postés 8 Date d'inscription jeudi 28 août 2008 Statut Membre Dernière intervention 30 août 2008 - 29 août 2008 à 13:23
salut tout le mande .
j'ai 2 textfield qui sont txt est txt1; je veut inserrer les données qui existe dans ces 2 textfield dans ma base  mais je n'arrive pas qui peut m'aidé est merci pour vous:
c'est le code :


bt.addActionListener(
new ActionListener()


{




public





void

actionPerformed(ActionEvent e)    //le code d'insertion



{




try






{


Class.forName("com.mysql.jdbc.Driver").newInstance();


java.sql.Connection conn = java.sql.DriverManager. getConnection ("jdbc:mysql://localhost/gestionstock",
"root",
"");


String queryString = "insert into lieu values( 'txt.getInt()' ,  ' txt1.getString()' )";


Statement st =conn.createStatement();



 



st.executeUpdate(queryString);









 

st.close();


conn.close();





}








catch

(Exception y){

System.



out

.println(

"Connection ratée: "
+ y); System.exit(-1);

}

}

});

il m'iserre dans la colonne code de ma base 0 et en colonne nom il m'inserre  ' txt1.getString()'.merci pour vous d'avence

7 réponses

cs_Chatbour Messages postés 764 Date d'inscription jeudi 27 juillet 2006 Statut Membre Dernière intervention 6 septembre 2010 19
21 août 2008 à 12:53
Salut,

c'est tout à fait justifiable :
plutôt que String queryString = "insert into lieu values( 'txt.getInt()' ,  ' txt1.getString()' )";

utilises : String queryString = "insert into lieu values( '" + txt.getInt() + "' ,  '" +  txt1.getString() + "' )";

_____________________
Vos avis et critiques sur le livre "Objets réactifs en java" de Frédéric Boussinot : contactez moi par MP..
http://books.go%3C/body
0
cs_Chatbour Messages postés 764 Date d'inscription jeudi 27 juillet 2006 Statut Membre Dernière intervention 6 septembre 2010 19
21 août 2008 à 12:56
attends, si le premier attribut que tu veux insérer est un entier (dans la base de données) pas besoin d'utiliser les ' ..

_____________________
Vos avis et critiques sur le livre "Objets réactifs en java" de Frédéric Boussinot : contactez moi par MP..
http://books.go%3C/body
0
ikramta Messages postés 151 Date d'inscription lundi 24 décembre 2007 Statut Membre Dernière intervention 10 février 2016
21 août 2008 à 13:25
salut chatbour et merci bien parceque chaque foit tu  prouve que tu est un trés sympa developpeur.
mais le probleme est toujour dans le code il ne veut pas les axceptés
il m'affiche que la methode getInt est indéfinie pour le textField et getString est indéfinie aussi je ne sai pas quoi faire.merci d'etre a mes ecoutes
0
cs_Chatbour Messages postés 764 Date d'inscription jeudi 27 juillet 2006 Statut Membre Dernière intervention 6 septembre 2010 19
21 août 2008 à 13:39
de rien

pour les getString() et getInt() j'ai pas remarqué ! un objet JTextField ou TextField ne possède pas de méthodes pareilles (tu peux vérifier dans la javadoc) : je sens que tu fais confusion avec la classe ResultSet..

tu peux utiliser la méthode getText() puis faire du cast en int ou autre..

int entier;
try {
  entier = Integer.parseInt(txt1.getText());
}
catch (NumberFormatException e) {
  // Traitement adéquat
}

Cordialement..

_____________________
Vos avis et critiques sur le livre "Objets réactifs en java" de Frédéric Boussinot : contactez moi par MP..
http://books.go%3C/body
0

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

Posez votre question
ikramta Messages postés 151 Date d'inscription lundi 24 décembre 2007 Statut Membre Dernière intervention 10 février 2016
22 août 2008 à 15:30
salut tout le mande et merci bien pour vous deux chatbour et indiana_jules.finalement j'ai pu résoudre le probléme et j'éspére que ça peut aidé un zero comme mois .bon l'affaire que j'ai ajouté est que j'ai déclaré 2 variable qui contien la valeur du textfield:
c'est le code :


bt.addActionListener(
new ActionListener()


{




public





void

actionPerformed(ActionEvent e)



{




try






{


Class.forName("com.mysql.jdbc.Driver").newInstance();


java.sql.Connection conn = java.sql.DriverManager. getConnection ("jdbc:mysql://localhost/gestionstock",
"root",
"");


String x = txt.getText();//la valeur saisie dans le textfield


String y= txt1.getText();











String queryString = "insert into lieu(code_lieu , designation_lieu) values( '"+x+
"','"+y+
"')";





 


 





Statement st =conn.createStatement();





st.executeUpdate(queryString);



txt
.setText(

""
);




txt1
.setText(

""
);



st.close();


conn.close();





}




catch

(Exception y)



{


System.out.println(
"Connection ratée: "+ y);


System.exit(-1);


}


}


});

merci
0
cs_Chatbour Messages postés 764 Date d'inscription jeudi 27 juillet 2006 Statut Membre Dernière intervention 6 septembre 2010 19
22 août 2008 à 23:55
Salut Ikram,

bravo pour cet esprit de partage :)

juste une remarque : mets "Réponse acceptée" tant que tu as parvenue à résoudre le problème..

Bonne continuation..

_____________________
Vos avis et critiques sur le livre "Objets réactifs en java" de Frédéric Boussinot : contactez moi par MP..
0
mounis2400 Messages postés 8 Date d'inscription jeudi 28 août 2008 Statut Membre Dernière intervention 30 août 2008
29 août 2008 à 13:23
bon c est très bien que tu a put trouver un solution mais celle la ne peut pas marcher dans pas mal de cas similaire et avec autre sgbd en plus c est pas recommandé de passer de paramètres ainsi a une requête la façon la plus approprié est le d 'utiliser des preparedStatement
exemple:

String queryString = "insert into lieu(code_lieu , designation_lieu) values(?,?)";

PreparedStatement preparedStatement = cx.prepareStatement(queryString);
preparedStatement.setObject(1, txt.getText());
preparedStatement.setObject(1, txt1.getText());
preparedStatement.executeUpdate();

je suis là pour aider et faire connaissance avec les meilleurs.
0
Rejoignez-nous