Inserer des donnes dans une base à partir de jtextfield

cs_merii Messages postés 3 Date d'inscription samedi 31 octobre 2009 Statut Membre Dernière intervention 2 mars 2010 - 1 mars 2010 à 21:58
cormandyr Messages postés 600 Date d'inscription samedi 20 mai 2006 Statut Membre Dernière intervention 8 juillet 2016 - 2 mars 2010 à 21:55
Salut,
Je voudrais insérer des données dans ma base à partir de java plus exactement du champs jTextField.
J'ai essayé d'ecrire le code ci-dessous , aucune erreur ne s'affiche mais j'aurais pas non plus les données que je viens d'inserer dans jTextfield dans ma base.
ça serait aimable si quelqu'un peut me filer un coup de main et me dire ce qui cloche ds ce code
mercii

try {
Class.forName("org.gjt.mm.mysql.Driver").newInstance();
}
catch (Exception E) {
System.err.println("Unable to load driver");
E.printStackTrace();
}

try {
Connection C = DriverManager.getConnection(
"jdbc:mysql://localhost/bilan comptable","root","");
Statement Stmt = C.createStatement();

ResultSet RS = Stmt.executeQuery
("SELECT * " +
" FROM actifs ");

while (RS.next()) {

String query1 = "insert into actifs values('"+jTextField8.getText()+"','"+jTextField9.getText()+"','"+jTextField10.getText()+"','200','555','4545','455','445')";
if (query1!=null)
{
Stmt.executeUpdate(query1);
}

}

C.close();
RS.close();
Stmt.close();
}
catch (SQLException E) {
System.out.println("SQLException: " + E.getMessage());
System.out.println("SQLState: " + E.getSQLState());
System.out.println("VendorError: " + E.getErrorCode());
}
}

5 réponses

cormandyr Messages postés 600 Date d'inscription samedi 20 mai 2006 Statut Membre Dernière intervention 8 juillet 2016 12
1 mars 2010 à 23:32
salut...

Déjà, ton code semble peu structuré, donc il n'est pas facile à relire...

String query1 = "insert into actifs values('"+jTextField8.getText()+"','"+jTextField9.getText()+"','"+jTextField10.getText()+"','200','555','4545','455','445')";
if (query1!=null) {...}

pourquoi tester un null si tu initialise ta variable directement lors de la déclaration??? elle ne sera jamais null...

Dans ta requete SQL, tu ne devrais pas spécifier les colonnes qui vont recevoir les données??? quelle données va aller dans quel champ de la table??

et pour finir, la ou je crois que tu as un soucis,
ta boucle while...
si ton ResultSet est vide, il ne rentrera jamais dedans.... Donc jamais d'insertion....et pourquoi boucler sur un resultset que tu ne sembles pas utiliser...
0
cs_merii Messages postés 3 Date d'inscription samedi 31 octobre 2009 Statut Membre Dernière intervention 2 mars 2010
2 mars 2010 à 10:56
Alors je fais comment pour le rectifier ?
0
cormandyr Messages postés 600 Date d'inscription samedi 20 mai 2006 Statut Membre Dernière intervention 8 juillet 2016 12
2 mars 2010 à 11:28
un resultset te permet de parcourir le resultat d'un select..
si tu ne dois pas utiliser ces données, pas besoin de faire de select...
0
cs_merii Messages postés 3 Date d'inscription samedi 31 octobre 2009 Statut Membre Dernière intervention 2 mars 2010
2 mars 2010 à 19:33
mercii beaucoup :):):)

ça m'a trop aidé , c bon j'ai eu le résultat que je voulais :)
Mais j'ai pas compris pourquoi resultset emperchait le programme de fonctionner correctement ?

A ton avis pour JTABLE je ferais comment c pareil?
0

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

Posez votre question
cormandyr Messages postés 600 Date d'inscription samedi 20 mai 2006 Statut Membre Dernière intervention 8 juillet 2016 12
2 mars 2010 à 21:55
le resultset est utiliser lors d'une requete de type select...

donc pour remplir une jtable avec le contenu d'une db, oui, il te faut un resultset...
si ton resulset set est vide, la condition de boucle while(rs.next()){....) n'est pas remplie et il ne rentre pas dans la boucle...
0