[Java] Problème avec BDD SQLite

Résolu
yannOpenGL Messages postés 141 Date d'inscription samedi 4 février 2012 Statut Membre Dernière intervention 3 avril 2013 - 18 avril 2012 à 15:17
cormandyr Messages postés 600 Date d'inscription samedi 20 mai 2006 Statut Membre Dernière intervention 8 juillet 2016 - 19 avril 2012 à 12:35
Bonjour,

Je suis actuellement en stage. Je dois développer un logiciel en Java qui communique avec une base de données. La base de données utilisée est SQLite.

J'ai commencer à réaliser l'interface graphique avec Eclipse.

J'ai pu créer ma base de donnée avec l'invite de commande.

J'arrive donc à me connecter à la base de données et lire le fichier de données déjà créé en envoyant la requête SELECT * FROM maTable.

Mais ce que je voudrais, c'est pouvoir remplir les tables avec les données entrées sur l'interface graphique lorsque j'appuie sur un JButton.

J'ai essayé avec executeQuery mais pour que ça marche il faudrait utiliser "throws SQLException". Or sur un JButton, on ne peux pas.

Code que j'utilise pour récupérer les données entrées par l'utilisateur :
String requeteUser = "INSERT INTO maTable(nom,ville) VALUES(JTextField1.getText(), JTextField2.getText())";
ConnectionBDD connection = new ConnectionBDD("../testBDD.db",requeteUser );



Merci pour vos réponses.
Bonne journée.

30 réponses

cormandyr Messages postés 600 Date d'inscription samedi 20 mai 2006 Statut Membre Dernière intervention 8 juillet 2016 11
19 avril 2012 à 11:33
tu n'as rien du tout??
meme pas la première ligne?

Es-tu sur d'avoir au moins un enregistrement dans ta table?
0
yannOpenGL Messages postés 141 Date d'inscription samedi 4 février 2012 Statut Membre Dernière intervention 3 avril 2013
19 avril 2012 à 11:36
Non, le programme part directement dans l'exception :

try{
while(rs.next()){
System.out.println("show_result...");
String nom = rs.getString("nom");
System.out.println("nom");
String ville = rs.getString("ville");
System.out.println("ville");
int code_postale = rs.getInt("code_postale");
System.out.println("code_postale");
String type_exploitation = rs.getString("type_exploitation");
System.out.println("type_exploitation");

System.out.println("Nom des exploitations : " + nom + "\nVille :" + ville + "\nCode postale : " + code_postale + "\nType d'exploitation : " + type_exploitation);
}
}
catch(Exception e){
System.out.println("Select Error:"+e);
}
0
yannOpenGL Messages postés 141 Date d'inscription samedi 4 février 2012 Statut Membre Dernière intervention 3 avril 2013
19 avril 2012 à 11:38
Ça marque Select Error:java.lang.NullPointerException
0
cormandyr Messages postés 600 Date d'inscription samedi 20 mai 2006 Statut Membre Dernière intervention 8 juillet 2016 11
19 avril 2012 à 11:43
^^ petite question, quelle est le nom de la variable de type ResultSet? rs? ou une autre?
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 11
19 avril 2012 à 11:44
et pour les exceptions, utilise la méthode printStackTrace() de l'exception, il te dira qu'elle est la ligne de code qui génère l'erreur...
0
yannOpenGL Messages postés 141 Date d'inscription samedi 4 février 2012 Statut Membre Dernière intervention 3 avril 2013
19 avril 2012 à 12:09
Pour le nom j'ai mis "resultat" de partout.

Du coup j'appelle ma fonction de cette manière :
show_result(resultat);

Par contre, si je mets printStackTrace(); dans l’exception elle n'est pas définie.
0
cormandyr Messages postés 600 Date d'inscription samedi 20 mai 2006 Statut Membre Dernière intervention 8 juillet 2016 11
19 avril 2012 à 12:12
1. l'exception
si ta variable ResultSet s'appelle resultat (et non rs), pourquoi faire rs.next(), rs.getStrign(...), ...

2.la gestion de l'exception
Dans le block catch, tu fais e.printStackTrace();
0
yannOpenGL Messages postés 141 Date d'inscription samedi 4 février 2012 Statut Membre Dernière intervention 3 avril 2013
19 avril 2012 à 12:12
Oublie ce dernier message je crois que ça va être bon.
0
yannOpenGL Messages postés 141 Date d'inscription samedi 4 février 2012 Statut Membre Dernière intervention 3 avril 2013
19 avril 2012 à 12:20
C'est bon, tout marche parfaitement.

Il ne reste plus que l'histoire d'ouvrir et de fermer la connexion au début et à la fin.
J'ai essayé de faire ça mais si je fais tout dans ma fenêtre principale, lors de mes traitements ailleurs, je n'ai plus accès à ma base de données.
0
cormandyr Messages postés 600 Date d'inscription samedi 20 mai 2006 Statut Membre Dernière intervention 8 juillet 2016 11
19 avril 2012 à 12:35
je te conseille de te renseigner sur le design pattern singleton
0
Rejoignez-nous