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

JDBC Java Discussion :

Affichage De Resulats De Requetes Sql


Sujet :

JDBC Java

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 3
    Par défaut Affichage De Resulats De Requetes Sql
    Bonjour ! Je suis entrain de réaliser une application swing qui me permettra de récuppérer et d'afficher le résultat de requêtes SQL.
    Je vous demande un peu d'aide pour avoir votre avis sur le comment... Je suppose que la facon la plus simple est d'afficher le résultat sous forme de tableau.. Pouvez vous m'aider ? Je ne sait pas comment afficher le résultat dans un tableau. (ou autre part ?) Merci de votre aide !

  2. #2
    Membre chevronné Avatar de schniouf
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2003
    Messages
    382
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2003
    Messages : 382
    Par défaut
    Citation Envoyé par anonix
    Bonjour ! Je suis entrain de réaliser une application swing qui me permettra de récuppérer et d'afficher le résultat de requêtes SQL.
    Je vous demande un peu d'aide pour avoir votre avis sur le comment... Je suppose que la facon la plus simple est d'afficher le résultat sous forme de tableau.. Pouvez vous m'aider ? Je ne sait pas comment afficher le résultat dans un tableau. (ou autre part ?) Merci de votre aide !
    Ben avec ton objet ResultSet rs tu fais une boucle de i=1 à i=rs.getMetadata().getColumnCount() pour récupérer le nom des colonnes de ton tableau avec rs.getMetadata().getColumnAt(i) (par sûr de moi au niveau du nom des méthodes...).
    Ensuite tu fais un classique while( rs.next() ) pour récupérer les valeurs de tes champs avec rs.getXXX(i) toujours avec i=1 à i=rs.getMetadata().getColumnCount().
    Faudrait même optimiser en mettant le rs.getMetadata().getColumnAt(i) à l'intérieur de la boucle while, pour éviter de parcourir 2 fois l'ensemble des colonnes du ResultSet.

    Une fois que t'as récupéré les noms des colonnes et les lignes, hop tu crées ta JTable tout simplement.

    ++

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 3
    Par défaut
    Merci de ton aide schniouf.. Cependant je m'en sors toujours pas (je suis un noob) Donc si vous pouvez me prêter un peu de votre savoir pour encore m'aider, ca serait top. Merci

  4. #4
    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
    Je pense que tu devrais aller voir dans la FAQ JDBC, tu y trouveras ce que tu veux sur le parcours des resulset et de la récupération d'infos sur les tables ...

    Ensuite fais un petit "resultset jtable" dans "tu sais qui", il y a des tonnes d'exemples.
    Avec la javadoc en complément des exemples, tu peux vite fait faire un truc sympa ... En plus tu découvrira pleins de trucs, c'est cool pour apprendre ...

    Apres, si tu as des questions ou si ton code ne fonctionne pas, on est là. Pas de problème

  5. #5
    Membre chevronné Avatar de schniouf
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2003
    Messages
    382
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2003
    Messages : 382
    Par défaut
    Citation Envoyé par anonix
    Merci de ton aide schniouf.. Cependant je m'en sors toujours pas (je suis un noob) Donc si vous pouvez me prêter un peu de votre savoir pour encore m'aider, ca serait top. Merci
    Je procède comme ça dans un prog :

    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
     
    // Contient les noms des colonnes
    Vector columnIdentifiers = new Vector<String>() ;
     
    // Contient les données de la table
    Vector dataVector= new Vector<Vector<String>>() ;
     
    /*
    * Création des colonnes
    */
    ResultSetMetaData meta = rs.getMetaData() ;
    for( int i = 1 ; i<=meta.getColumnCount() ; i++ )
    	columnIdentifiers.addElement( meta.getColumnName( i ) ) ;
     
     
    // Pour chaque ligne du résultat
    // on les récupère dans un vecteur de vecteur
    while( rs.next() )
    {
    	Vector<String> v = new Vector<String>() ;
     
    	// Ajout de chaque champ
    	for( int i = 1 ; i<=meta.getColumnCount() ; i++ )
    	{
    		String val = (rs.getObject(i) + "").trim() ;
    		v.addElement( val ) ;
    	}
    	dataVector.addElement( v ) ;
    }
     
    // Création de la table
    Jtable table = new JTable( dataVector, columnIdentifiers) ;
    Mais comme je te l'ai dit c'est ptetre pas très optimisé, je parcours 2 fois la liste des colonnes. Arrange toi pour n'en faire qu'un seul parcours dans la boucle Ajout de chaque champ.

    ++

  6. #6
    Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 3
    Par défaut
    Bien merci à vous. Je vais essayer de faire ca ! Je vous tiens au courant. Faut que je finisse ca pour demain soir !

  7. #7
    Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 3
    Par défaut
    Citation Envoyé par schniouf
    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
     
    // Contient les noms des colonnes
    Vector columnIdentifiers = new Vector<String>() ;
     
    // Contient les données de la table
    Vector dataVector= new Vector<Vector<String>>() ;
     
    /*
    * Création des colonnes
    */
    ResultSetMetaData meta = rs.getMetaData() ;
    for( int i = 1 ; i<=meta.getColumnCount() ; i++ )
    	columnIdentifiers.addElement( meta.getColumnName( i ) ) ;
     
     
    // Pour chaque ligne du résultat
    // on les récupère dans un vecteur de vecteur
    while( rs.next() )
    {
    	Vector<String> v = new Vector<String>() ;
     
    	// Ajout de chaque champ
    	for( int i = 1 ; i<=meta.getColumnCount() ; i++ )
    	{
    		String val = (rs.getObject(i) + "").trim() ;
    		v.addElement( val ) ;
    	}
    	dataVector.addElement( v ) ;
    }
     
    // Création de la table
    Jtable table = new JTable( dataVector, columnIdentifiers) ;
    Mais çà rame pas généralement ? parce que faire des Vector çà bouffe énormément en mémoire ....

  8. #8
    Membre expérimenté Avatar de Betatesteur
    Inscrit en
    Juillet 2003
    Messages
    210
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 210
    Par défaut
    juste en passant, il est déconseillé d'utiliser Vector
    @++

  9. #9
    Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 3
    Par défaut
    Et tu proposerais quoi alors BetaTesteur ?

  10. #10
    Membre expérimenté Avatar de Betatesteur
    Inscrit en
    Juillet 2003
    Messages
    210
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 210
    Par défaut
    ArrayList

    @++

Discussions similaires

  1. Affichage d'image après requete SQL
    Par princesse95 dans le forum Langage
    Réponses: 11
    Dernier message: 01/04/2009, 18h31
  2. [MySQL] Affichage résultat d'une requete sql dans un tableau
    Par sara21 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 17/05/2008, 03h01
  3. [Tableaux] affichage tableau php apres requete sql count
    Par heteroclite dans le forum Langage
    Réponses: 1
    Dernier message: 13/09/2006, 20h53
  4. [MySQL] Requete SQL correcte Mais aucun affichage
    Par jenga dans le forum PHP & Base de données
    Réponses: 21
    Dernier message: 10/04/2006, 13h55
  5. Réponses: 1
    Dernier message: 25/10/2005, 12h18

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