IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage Java Discussion :

Problème de connection DAO


Sujet :

Langage Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Février 2009
    Messages
    33
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 33
    Par défaut Problème de connection DAO
    Salut à tous,
    Je développe une petite interface qui permet d'afficher les Ingrédient d'une recette sélectionnée. Rien de bien ambitieux la dedans mais je ne vois pas mon erreur lorsque je tente de remplir ma liste déroulante de recette :

    Lorsque je choisit "consulter" et "recette", je créer un objet de type FenetreListerRecette :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    FenetreListerRecette IHM2 = new FenetreListerRecette();
    					IHM2.setBounds(100, 100, 550, 300);
    					IHM2.setVisible(true);
    					IHM2.setTitle("Choix de la recette");
    					IHM2.getContentPane();
    Voici ma class FenetreListerRecette :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    package IHM;
     
    import metier.*;
    import javax.swing.* ;
     
    import java.awt.* ;
    import java.awt.event.*;
    import DAO.*;
     
    class FenetreListerRecette extends JDialog implements ActionListener
    {
    	private Container contenu;
    	private JButton annuler;
    	private JButton valider;
    	private JComboBox liste_Recette;
    	private JTextArea txtaIngr;
     
     
    	public FenetreListerRecette() 
    	{
    		contenu=new Container();
    		this.contenu=this.getContentPane();
    		this.contenu.setLayout(null);
    		this.txtaIngr =new JTextArea();
    		this.contenu.add(txtaIngr);
    	    this.txtaIngr.setBounds(20,75,300,150);
     
    		//LISTE IMPRIMANTE
    		this.liste_Recette = new JComboBox(DAO_Projet_Cuisine.getlesRecettes()); 
    		//passe en parametre un vector récuperé grace a la methode static getlesrecette
    		this.contenu.add(liste_Recette);
    		this.liste_Recette.setBounds(20,30,300,20);
     
    		//BOUTTON ANNULER
    		this.annuler = new JButton("Annuler");
    		this.annuler.addActionListener(this);
    		this.contenu.add(annuler);
    		this.annuler.setBounds(420,30,85,20);
     
    		//BOUTTON VALIDER
    		this.valider = new JButton("Valider");
    		this.valider.addActionListener(this);
    		this.contenu.add(valider);
    		this.valider.setBounds(330,30,85,20);
    	}
     
    	public void actionPerformed (ActionEvent evt)
    	{
    		if (evt.getSource() == annuler)
    			dispose();
     
    		if (evt.getSource() == valider)
    		{
    			//transtypage
    			Recette REC1 = (Recette)this.liste_Recette.getSelectedItem();
     
    			for (Ingredient unIngredient : REC1.getLesIngredients())
    			{
    			 String nom = unIngredient.getNomIngredient();
    			 this.txtaIngr.append(nom);
    			}
     
    		}
     
    	}
     
     
    }
    et voici ma DAO pour me connecté à ma base :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    package DAO;
     
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.sql.Statement;
    import java.util.ArrayList;
    import java.util.TreeMap;
    import java.util.Vector;
     
    import Connexion.MySqlConnection;
    import IHM.*;
    import metier.*;
     
     
    public class DAO_Projet_Cuisine 
    {
     
    	public static Vector<Recette> getlesRecettes()
    	{
    		//DECLARATION VECTOR
    		Vector<Recette> v1;
    		v1 = new Vector<Recette>();
     
    		/*****************BASE DE DONNEE*****************/
    		//String nomPilote = "oracle.jdbc.driver.OracleDriver";
    		Connection connect = null;
    		ResultSet res_rec = null;
    		ResultSet res_rec2 = null;
    		Statement stListeRecette = null;
    		Statement stListeRecette2 = null;
     
     
    		//CONNECTION BDD + VERIF DRIVER	
     
    		connect = MySqlConnection.getConnection("jdbc:mysql://localhost/projet_cuisine", "root", "");
    		//appele d'une methode static a partir du nom nom de la classe
     
    		//REQUETE SQL
    		ArrayList <Ingredient> lesIngredients;
    		lesIngredients = new ArrayList <Ingredient>();
     
    			try {
    				stListeRecette = connect.createStatement();
    				res_rec = stListeRecette.executeQuery("select * from Recette"); 
     
    				while (res_rec.next())
    				{
    					int V_NumRecette = res_rec.getInt("NumRecette");
    					String V_NomRecette = res_rec.getString("NomRecette");
     
     
    					stListeRecette2 = connect.createStatement();
    					res_rec2 = stListeRecette2.executeQuery("select * from constituer where Recette='"+V_NumRecette+"'"); 
    					while (res_rec2.next())
    					{
    						int V_NumIngredient = res_rec.getInt("NumIngredient");
    						String V_NomIngredient = res_rec.getString("NomIngredient");
    						String V_Unite =  res_rec.getString("Unite");
     
    						Ingredient I1 = new Ingredient (V_NumIngredient,V_NomIngredient,V_Unite);
    						lesIngredients.add(I1);
    					}
     
     
     
     
     
    					Recette R1 = new Recette(V_NumRecette,V_NomRecette,lesIngredients);
    					v1.add(R1);
    				}
     
     
     
    			} catch (SQLException e) {
    				System.out.println("Erreur sur la requête");
    			}
     
    			return v1;
     
     
    	}
    }
    Apparement le problème vient de stListeRecette = connect.createStatement();

    Quelqu'un voit-il pourquoi ?
    je met en pièce jointe mon code et mes table au cas ou quelqu'un pense avoir eut le même problème...
    Fichiers attachés Fichiers attachés

  2. #2
    Modérateur
    Avatar de dinobogan
    Homme Profil pro
    ingénieur
    Inscrit en
    Juin 2007
    Messages
    4 073
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : ingénieur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 4 073
    Par défaut
    Quel est le problème ? Une exception ? Une liste qui ne se remplie pas ?
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java
    Que la force de la puissance soit avec le courage de ta sagesse.

  3. #3
    Membre éclairé
    Profil pro
    ingenieur
    Inscrit en
    Avril 2002
    Messages
    207
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : ingenieur

    Informations forums :
    Inscription : Avril 2002
    Messages : 207
    Par défaut
    Est ce que tu peux afficherl'exception qui apparait ?

  4. #4
    Membre éprouvé
    Inscrit en
    Juin 2008
    Messages
    189
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 189
    Par défaut
    Je vois dans les commentaires : "//CONNECTION BDD + VERIF DRIVER".

    A priori :
    - soit tu n'as pas registré les drivers via un Class.forName
    - soit il manque le connecteur MySQL
    - soit il y a un problème de connexion

    Mais sans erreurs, impossible d'en dire plus.

Discussions similaires

  1. Problème de connection avec phpmyadmin
    Par callo dans le forum Outils
    Réponses: 4
    Dernier message: 20/05/2005, 13h35
  2. Problème de connection
    Par Marsouin dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 17/11/2004, 13h22
  3. [Interbase] Problème de connections
    Par yolepro dans le forum InterBase
    Réponses: 3
    Dernier message: 24/02/2004, 15h31
  4. Problème de connection
    Par Trahwn dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 24/09/2003, 13h58
  5. problème de connection mysql par tcp/ip
    Par leroyphil dans le forum Administration
    Réponses: 5
    Dernier message: 04/09/2003, 18h27

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo