Problème à l'ajout des donnees

anasshajami Messages postés 5 Date d'inscription jeudi 17 août 2006 Statut Membre Dernière intervention 12 février 2007 - 9 févr. 2007 à 18:00
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 - 12 févr. 2007 à 15:52
Bonjour, SVP je suis un peu coincé



Voila je travail sur une petite application avec java



J’ai crée une bd (d’une seul table Personne(code, nom, prenom, age, sex)) avec access. Et je veux que mon application réalise : l’affichage, l’ajout, la modification, la suppression...




Pour cela j’ai crée une classe BaseDonnees (le code cette classe ci desous) et j'utilise une instance de cette classe dans la methode main()

public static void main(String[] x)
{
   BaseDonnees DB=new BaseDonnees();
   DB.ajouter("INSERT  INTO Personne VALUES(1,'nom','prenom',........)");
}







class BaseDonnees
{
 Connection con;
 Statement stm;
 ResultSet rt;
 ResultSetMetaData resmd;
 
 BaseDonnees()
 {
  try{
   Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
   con=DriverManager.getConnection("jdbc:odbc:BDPersonne", "", "");
   stm=con.createStatement();
   
  }catch(ClassNotFoundException cnfe)
  {}
  catch(SQLException sqle)
     {}
 }





 public void ajouter(String req)
 {
  try{
   stm.executeUpdate(req);
  }catch(SQLException sqle)
  {}
  
 }
}



je n'ai aucune erreur a la compilation, mais à l'exe'cution rien n'est ajouté dans la base.
Merci de m'expliquer

5 réponses

cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 131
9 févr. 2007 à 18:35
Ben tout dépend comment tu l'utilise... ta requête d'insertion entre autre !

Et puis évite de faire ceci :
catch(SQLException sqle)
  {}

Car justement, une exception est sûrement levée, et vu que tu la traîte, sans rien faire, tu est passé à côté !

Il vaut mieux faire un throwable au niveau de ta procédure, ou à la limite d'afficher l'erreur dans la console plutôt que de ne rien faire, et du coup, se poser ce genre de question : j'ai pas d'erreur, mais ca marche pas...
0
anasshajami Messages postés 5 Date d'inscription jeudi 17 août 2006 Statut Membre Dernière intervention 12 février 2007
12 févr. 2007 à 01:03
merci comme même de ta repense "DARKSIDIOUS".
mais j'ai toujours le même problème.
si j'execute un simple programme pour ajouter des données dans la BD.. ca marche, mais si je le fais à travers une instance de la classe BaseDonnees, (que j'ai crée), rien ne s'ajoute à la BD, c'ast ce que je n'arrive pas à comprendre (pourquoi?).

Remarques: 
     1)J'ai traité touts les exceptions dans mon programme, ca ne m'échape jammais!!
     2)Merci d'être plus claire dans ses repenses.
0
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 131
12 févr. 2007 à 06:43
"J'ai traité touts les exceptions dans mon programme, ca ne m'échape jammais!!" :

Tu veux dire avec un :
catch(SQLException sqle)
  {} ?????

Car là, ce n'est absolument pas traîter les exceptions !! C'est les ignorer plutôt !

Fait un :

catch(SQLException sqle)
  {System.out.println(sqle.getMessage();}

Et là tu verra vite si tu traîtais vraiment les exceptions !
0
anasshajami Messages postés 5 Date d'inscription jeudi 17 août 2006 Statut Membre Dernière intervention 12 février 2007
12 févr. 2007 à 14:11
Je croie que ma question est très claire.
j'ai traité les exceptions, mais de cette facon:
try{
      //...
}catch(SQLException sqle)
{ JOptionPane.showMessageDialog(null,"Erreur!\n"+sqle,"Exception",JOptionPane.ERROR_MESSAGE); }
0

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

Posez votre question
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 131
12 févr. 2007 à 15:52
bah à ce moment là, si aucun message ne s'affiche, quelle est ta requete ?

Je veux bien t'aider, mais si tu ne me donne pas les détails, je peux pas les deviner !
0
Rejoignez-nous