{MySQL} connexion à une bd mysql dans java

cajmp Messages postés 3 Statut Membre -  
cajmp Messages postés 3 Statut Membre -
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);
}

}
}
Configuration: Windows XP Internet Explorer 7.0

3 réponses

  1. arth Messages postés 84 Date d'inscription   Statut Contributeur Dernière intervention   1 296
     
    Es-tu sûr que cette requête : "select * from tsujets" retourne bien des données?
    0
    1. cajmp
       
      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
  2. arth Messages postés 84 Date d'inscription   Statut Contributeur Dernière intervention   1 296
     
    Mais comment lances-tu ce programme? Bat?
    0
    1. cajmp Messages postés 3 Statut Membre
       
      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
  3. arth Messages postés 84 Date d'inscription   Statut Contributeur Dernière intervention   1 296
     
    Difficile de comprendre le programme avec un partie du code seulement.
    0
    1. cajmp Messages postés 3 Statut Membre
       
      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