{MySQL} connexion à une bd mysql dans java

Fermé
cajmp Messages postés 3 Date d'inscription samedi 6 février 2010 Statut Membre Dernière intervention 7 février 2010 - 6 févr. 2010 à 22:33
cajmp Messages postés 3 Date d'inscription samedi 6 février 2010 Statut Membre Dernière intervention 7 février 2010 - 7 févr. 2010 à 12:23
Bonjour,
J'ai écrit ce code en m'inspirant des recommendations du forum Connection a Mysql via java, et je n'ai pas d'erreur. Seulement lorque je lance le programme, rien ne ce passe à l'écran, bien que la table contienne des données. J'ai introduit des erreurs expresses pour vérifier que le programme est bien exécuté et c'est le cas. Qu'lqu'un peut-il me donner une idée? Je ne vois pas d'anomalie, mais je n'ai pas le résultat escompté.

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

import java.util.*;
import java.text.*;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.sql.Statement;

public class ListeSujet extends JFrame
{


// Constructeur. Il recoit le Vector d'employés
public ListeSujet()
{

String pilote = "com.mysql.jdbc.Driver";

try{
Class.forName(pilote);
Connection connexion = DriverManager.getConnection("jdbc:mysql://localhost:3306/gfapt","root","sa");

Statement instruction = connexion.createStatement();

ResultSet resultat = instruction.executeQuery("select * from tsujets");

while(resultat.next()){

System.out.println("---------------------------");
System.out.println("ID SUJET: "+resultat.getInt("id_sujet"));
System.out.println("Type sujet: "+resultat.getInt("type"));
System.out.println("Couleur: "+resultat.getString("couleur"));
System.out.println("Sexe: "+resultat.getString("sexe"));

}
}
catch (Exception e){

System.out.println("echec pilote : "+e);
}

}
}
A voir également:

3 réponses

arth Messages postés 9374 Date d'inscription mardi 27 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2016 1 291
6 févr. 2010 à 23:00
Es-tu sûr que cette requête : "select * from tsujets" retourne bien des données?
0
Oui voici le résultat. Il y a un enregistrement dans la table.

mysql> use gfapt;
Database changed
mysql> select * from tsujets;
+----------+---------+------+--------+-------------+-------------+--------------
-+----------+--------+
| id_sujet | couleur | sexe | race | date_entree | date_sortie | poids_initial
| type | stype |
+----------+---------+------+--------+-------------+-------------+--------------
-+----------+--------+
| 1 | Noire | M | Locale | 2010-01-01 | 2010-02-10 | 10
| Ruminant | Mouton |
+----------+---------+------+--------+-------------+-------------+--------------
-+----------+--------+
1 row in set (0.01 sec)
0
arth Messages postés 9374 Date d'inscription mardi 27 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2016 1 291
6 févr. 2010 à 23:13
Mais comment lances-tu ce programme? Bat?
0
cajmp Messages postés 3 Date d'inscription samedi 6 février 2010 Statut Membre Dernière intervention 7 février 2010
6 févr. 2010 à 23:20
J'utilise Eclipse. Le menu est le suivant :

public void actionPerformed(ActionEvent e)
{
if(e.getSource() == connexion);
//PanelConnexion();
else if(e.getSource() == quit)
System.exit(0);
else if(e.getSource() == sujets)
new PanelAjoutSujet(tabSjt);
else if(e.getSource() == lsujet)
new ListeSujet();
else if(e.getSource() == lponte)
new ListePonte();
else if(e.getSource() == about)
JOptionPane.showMessageDialog(this,
new JLabel(new ImageIcon("objectifs.jpg")),
"À propos...",
JOptionPane.INFORMATION_MESSAGE);
} // Fin de la méthode actionPerformed


// Main
public static void main(String args[])
{
new GFerme();
}
}
0
arth Messages postés 9374 Date d'inscription mardi 27 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2016 1 291
7 févr. 2010 à 01:27
Difficile de comprendre le programme avec un partie du code seulement.
0
cajmp Messages postés 3 Date d'inscription samedi 6 février 2010 Statut Membre Dernière intervention 7 février 2010
7 févr. 2010 à 12:23
Voici le programme complet. Il est long et c'est pour cette raison que j'avais donné la partie d'appel des procédures.

/**
* Title: Gestion d'une Ferme
* Description: Classe principale. Elle contient le main du programme.
* Auteur : Almoustapha Coulibaly
*/

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.util.*;
import java.io.*;

public class GFerme extends JFrame implements ActionListener
{
private Vector tabSjt = new Vector();

private JMenuBar menubar = new JMenuBar();

private JMenu fichier = new JMenu("Fichier");
private JMenuItem connexion = new JMenuItem("Connexion");
private JMenuItem quit = new JMenuItem("Quitter");

private JMenu gestion = new JMenu("Gestion");
private JMenuItem sujets = new JMenuItem("Sujets animaux");
private JMenuItem soin = new JMenuItem("Soins");
private JMenuItem portee = new JMenuItem("Portées");
private JMenuItem ponte = new JMenuItem("Pontes");

private JMenu rapport = new JMenu("Rapports");
private JMenuItem lsujet = new JMenuItem("Liste des Sujets");
private JMenuItem lsoin = new JMenuItem("Liste des soins");
private JMenuItem lportee = new JMenuItem("Liste des portées");
private JMenuItem lponte = new JMenuItem("Liste des pontes");

private JMenu aide = new JMenu("Aide");
private JMenuItem about = new JMenuItem("À propos...");

private JLabel image = new JLabel(new ImageIcon("banniere.jpg"));

private JFileChooser fileChooser = new JFileChooser();

public GFerme()
{
fileChooser.setCurrentDirectory(new File("."));
fileChooser.addChoosableFileFilter(new FiltreExtension("sujet",
"Fichier sujets"));
fileChooser.setFileSelectionMode(JFileChooser.FILES_ONLY);

connexion.addActionListener(this);
fichier.add(connexion);
fichier.addSeparator();
quit.addActionListener(this);
fichier.add(quit);

sujets.addActionListener(this);
gestion.add(sujets);
soin.addActionListener(this);
gestion.add(soin);
portee.addActionListener(this);
gestion.add(portee);
ponte.addActionListener(this);
gestion.add(ponte);

lsujet.addActionListener(this);
rapport.add(lsujet);
lsoin.addActionListener(this);
rapport.add(lsoin);
lportee.addActionListener(this);
rapport.add(lportee);
lponte.addActionListener(this);
rapport.add(lponte);

about.addActionListener(this);
aide.add(about);

menubar.add(fichier);
menubar.add(gestion);
menubar.add(rapport);
menubar.add(aide);

setJMenuBar(menubar);
getContentPane().setLayout(new BorderLayout(10, 10));
getContentPane().add(image, BorderLayout.CENTER);
setTitle("Gestion d'une Ferme Agro Pastorale");
setSize(1025, 737);
//pack();
setVisible(true);
setDefaultCloseOperation(EXIT_ON_CLOSE);
} // Fin du constructeur


public void actionPerformed(ActionEvent e)
{
if(e.getSource() == connexion);
//PanelConnexion();
else if(e.getSource() == quit)
System.exit(0);
else if(e.getSource() == sujets)
new PanelAjoutSujet(tabSjt);
else if(e.getSource() == lsujet)
new ListeSujet();
else if(e.getSource() == lponte)
new ListePonte();
else if(e.getSource() == about)
JOptionPane.showMessageDialog(this,
new JLabel(new ImageIcon("objectifs.jpg")),
"À propos...",
JOptionPane.INFORMATION_MESSAGE);
} // Fin de la méthode actionPerformed


// Main
public static void main(String args[])
{
new GFerme();
}
}
0