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

Composants Java Discussion :

Base de données et JTable


Sujet :

Composants Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Avril 2006
    Messages
    261
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 261
    Par défaut Base de données et JTable
    Bonjour tout le monde, jai une apllication java connecter avec une base de données, j'ai relié 2 listes deroulantes ( des Choice) a cette base pour quelles affichent seulement les données presente dans celle-ci.
    J'aimerais faire de meme pour une JTable seulement cela ne fonctionne pas.
    Voila mon code

    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
    catch (SQLException se) 
    		{
    			JOptionPane.showMessageDialog(this,sql+"\n"+se.getMessage(),"Chargement de la table impossible !",JOptionPane.ERROR_MESSAGE);
    		}
     
    		try 
    		{	
    			Statement requete1 = ConnectionBD.createStatement();
    			sql="select DISTINCT * from options,etudiant WHERE etudiant.code_option=options.code_option ORDER BY options.code_option";
    			ResultSet resultat = requete1.executeQuery(sql);
    			while (resultat.next()) 
    			{
    				tEtud.ajoute(resultat.getString(1)+resultat.getString(2));
     
    			}
    		}
    		catch (SQLException se) 
    		{
    			JOptionPane.showMessageDialog(this,sql+"\n"+se.getMessage(),"Chargement de la table impossible !",JOptionPane.ERROR_MESSAGE);
    		}

    tEtud est ma JTable

    merci de votre aide

  2. #2
    in
    in est déconnecté
    Membre Expert Avatar de in
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    1 612
    Détails du profil
    Informations personnelles :
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : Avril 2003
    Messages : 1 612
    Par défaut
    qu'est ce qui ne marche pas ?

    Tu as une exception ?

    Faire voir le code de ajoute() ...

  3. #3
    Membre éclairé
    Inscrit en
    Avril 2006
    Messages
    261
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 261
    Par défaut
    bah enfet il me souligne ajoute, il me dit que je ne peut pas utiliser la methode ajoute avec une table

    Il y aurai til une autre méthode??

  4. #4
    Membre chevronné Avatar de bassim
    Homme Profil pro
    Ingénieur Réseaux
    Inscrit en
    Février 2005
    Messages
    666
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingénieur Réseaux
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2005
    Messages : 666
    Par défaut
    bah enfet il me souligne ajoute, il me dit que je ne peut pas utiliser la methode ajoute avec une table

    Il y aurai til une autre méthode??
    y a pas de méthode ajoute ni même de méthode add ou autre chose ,
    pour récuperer tes données de ta base , tu dois créer un modele de tableau
    comme ceci :
    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
     
    public class MonModele extends AbstractTableModel
    {
       // Constructeur
      public MonModele
    {
         // instructions d'initialisations
    }
     
     
    public int getColumnCount() // surcharger la méthode de la classe parente
    {          
    // récuperer depuis ta base le nombre de colonnes                       
    }
     
    public String getColumnName(int col) // de même
    {
    //récuperer depuis ta base le noms de tes colonnes
     }
     
    public int getRowCount() 
    {
            // récuperer le nombre de lignes
    }
    public Object getValueAt(int row,int col) // c'est
    {
            // c'est la que tu recupere les données qui vont être affichés dans ton JTable
            // pour ça tu dois déja avoir extrait tes données de ta base 
           // que tu as mise dns un ResultSet par exemple
    }
    }
     
    public class MonProgramme {
    // aprés tu initialises ton JTable
    public static main(String [] args)
    {
        JTable table = new JTable(new MonModele);
        JScrollPane pane = new JScrollPane(table);
     
    }
     
    }

  5. #5
    Membre éclairé
    Inscrit en
    Avril 2006
    Messages
    261
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 261
    Par défaut
    ah d'accord merci de ton aide mais que dois je mettre dans les fonctions??

  6. #6
    Membre chevronné Avatar de bassim
    Homme Profil pro
    Ingénieur Réseaux
    Inscrit en
    Février 2005
    Messages
    666
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingénieur Réseaux
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2005
    Messages : 666
    Par défaut
    voilà un exemple plus spécifique à ton probleme :

    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
     
    public class CommandeModel extends AbstractTableModel
    {
    	private ResultSetMetaData rsmd;  // les méta-données de la base
    	private ResultSet Table;       // les données se trouvent ici
     
    	public CommandeModel()
    	{
    		String Requete = "SELECT COMMANDE.NUM,DATEC,NOM,PRENOM,COMMANDE.REF,FACT,DATEV,DATEP "+
    		"FROM CLIENT,COMMANDE,VENTE "+
    		"WHERE CLIENT.NUM=COMMANDE.CLI "+
    		"and FACT=VENTE.NUM ";
    		try
    		{
    			Table = stat.executeQuery(Requete);
    			rsmd = Table.getMetaData();
    		}
    		catch (SQLException e)   {System.out.println(e.getMessage()); }
     
    	}
     
     
    	public int getColumnCount() 
    	{
    		try
    		{
    			return rsmd.getColumnCount();
    		}
    		catch (SQLException e)   { return 0 ;}
     
    	}
     
    	public int getRowCount() {
    		try
    		{
    			Table.last();
    			return Table.getRow();
    		}
    		catch (SQLException e)   { return 0 ;}
    	}
     
    	public String getColumnName(int col)
    	{
    		try
    		{
    			return rsmd.getColumnName(col +1);
    		}
     
    		catch (SQLException e){return "";}
    	}
     
     
    	public Object getValueAt(int ligne, int col) 
    	{
    		try
    		{
    			Table.absolute(ligne + 1);
    			return Table.getObject(col +1);
    		}
     
    		catch (SQLException e) { return null;    }
     
    	}

    aprés tu fais comme je t'ai montré en haut

  7. #7
    Membre éclairé
    Inscrit en
    Avril 2006
    Messages
    261
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 261
    Par défaut
    merci bien mais avrai dire je ne comprend pas grand chose

    jusqua present javais cré de cette facon la JTable en y inseran des données moi meme mais maintenant pour que les données proviennent de la base comment dois je tout modifier???


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    JTable tEtud =new JTable();
    Object[] [] donnees = {{"Marco","Polo"},{"Mélina","Petit"},{"George","Harry"},{"James","Brun"},{"Roger","Pierre"}};
    		String[]titre = { "Nom", "Prénom"};
    		tEtud = new JTable(donnees,titre);
    		JScrollPane nomPrenom;
    		nomPrenom = new JScrollPane(tEtud);
    		nomPrenom.setPreferredSize(new Dimension(500,400));
    pTab.add(nomPrenom, c);

Discussions similaires

  1. jtable et base de données?
    Par 7rouz dans le forum Composants
    Réponses: 2
    Dernier message: 27/07/2009, 09h41
  2. Remplir jtable a partir d'une base de donnée mysql
    Par chris81 dans le forum Composants
    Réponses: 3
    Dernier message: 26/04/2007, 14h09
  3. Mise à jour de JTable depuis une Base de Données.
    Par hmd01 dans le forum Composants
    Réponses: 3
    Dernier message: 13/03/2007, 16h51
  4. jtable et base de donnée acess
    Par lilmo dans le forum Composants
    Réponses: 8
    Dernier message: 23/12/2006, 00h15
  5. Jtable pb ouverture d'un pdf dans une base de donnée
    Par fredo1314 dans le forum Composants
    Réponses: 11
    Dernier message: 11/07/2006, 19h15

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