begin process at 2010 02 10 09:25:52
  Trouver un code source :
 
dans
 
Accueil > Forum > 

JAVA / J2EE / J2ME

 > 

Divers

 > 

Débutant(e)

 > 

Remplir une Jtable avec un ResultSet


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Remplir une Jtable avec un ResultSet

lundi 8 juin 2009 à 16:59:39 | Remplir une Jtable avec un ResultSet

oulanos

Bonjour à tous, je viens demander un peu d'aide car là je galère ^^


Alors voilà, je récupère dans un ResultSet des données d'une base de données Mysql à l'aide de la requête :

 Statement statement = conn.createStatement() ;
             ResultSet result = statement.executeQuery("SELECT * FROM host WHERE snmp_community ='"+communaute+"'");


Voilà donc en gros j'ai une base de données Mysql qui me sert pour alimenter Cacti, l'outil de supervision.

Tout ça marche bien, j'ai les résultats avec :


             while(result.next())
             {
                 System.out.println(result.getString("hostname"));
                 i = i+1;
             }

             System.out.println("Il y a "+i+" entrées");
            conn.close();
        }
        catch(SQLException e)
        {
            System.out.println("erreur ConnexionBase"+e);
        }


Donc il me liste ce qu'il me faut, à savoir le nom des ordis utilisant la communauté snmp que je récupère par un textfield.


Mon problème est que je veux afficher justement ces noms d'ordis dans une liste en mode graphique, j'ai donc pensé à un JList (peut être que je me trompe lourdement)

Cependant voilà je ne sais pas comment faire, je suis débutant en Java... j'ai essayé avec un tableau mais à vrai dire je ne suis pas très doué.
En plus je n'ai qu'une seule colonne donc à afficher puisque après le filtre du SELECT en SQL il ne retourne qu'une colonne avec les noms des ordis..

Quelqu'un peut-il me mettre sur la voie svp? merci par avance
lundi 8 juin 2009 à 23:36:38 | Re : Remplir une Jtable avec un ResultSet

uhrand

Avec JList nous pouvons utiliser un DefaultListModel et y ajouter les entrées, comme le montre l'exemple du tutoriel:
http://java.sun.com/docs/books/tutorial/uiswing/components/list.html
http://java.sun.com/docs/books/tutorial/uiswing/examples/components/ListDemoProject/src/components/ListDemo.java
C'est un peu pareille avec JTable.
mardi 9 juin 2009 à 09:06:51 | Re : Remplir une Jtable avec un ResultSet

oulanos

Bonjour, merci pour votre réponse


J'avais déjà vu cet exemple mais n'avais pas réussi à tout faire.

Cependant si c'est bien là la bonne direction je vais m'y pencher plus sérieusement dessus jusqu'à y arriver ^^


Bonne journée
mardi 9 juin 2009 à 09:11:50 | Re : Remplir une Jtable avec un ResultSet

oulanos

Le problème n'est pas de remplir le Jlist en statique mais à partir d'un résultat d'une requête dans un ResultSet... est-ce la même manière de procéder? désolé pour mes questions je n'ai que quelques jours de progra et c'est pas forcément évident :D
vendredi 12 juin 2009 à 06:27:23 | Re : Remplir une Jtable avec un ResultSet

uhrand

Réponse acceptée !
Dans FrameCommunaute:
    public class searchCommunaute implements ActionListener {

        public void actionPerformed(ActionEvent e) {
            String communaute = SnmpField.getText();
            bdd_cacti_connexion objetConnect2 = new bdd_cacti_connexion();
            List list = objetConnect2.rechercheSnmp(communaute);
            for (Object object : list) {
                listModel.addElement(object);
            }
        }
    }


Dans bdd_cacti_connexion:
    public List rechercheSnmp(String communaute) {
        List results = new ArrayList();
        try {
            String url = "jdbc:odbc:cacti";
            Connection conn = DriverManager.getConnection(url);
            System.out.println("Connection MySQL effectuee\n\n\n");
            Statement statement = conn.createStatement();
            ResultSet result = statement.executeQuery("SELECT * FROM host WHERE snmp_community ='" + communaute + "'");
            int i = 0;
            while (result.next()) {
                String name = result.getString("hostname");
                results.add(name);
                i = i + 1;
            }
            System.out.println("Il y a " + i + " entr es");
            conn.close();
        } catch (SQLException e) {
            System.out.println("erreur ConnexionBase" + e);
        }
        return results;
    }
vendredi 12 juin 2009 à 09:28:43 | Re : Remplir une Jtable avec un ResultSet

oulanos

WAOUW! mon sauveur!

Merci mille fois et désolé de vous avoir pris du temps, ça marche très bien!

Je vais étudier tout ça pour voir comment vous avez fait 'méthode + syntaxique'.

juste à un endroit Eclipse a un peu ralé:

 public void actionPerformed(ActionEvent e) {
            String communaute = SnmpField.getText();
            bdd_cacti_connexion objetConnect2 = new bdd_cacti_connexion();
    ===>        java.util.List list = objetConnect2.rechercheSnmp(communaute);
            for (Object object : list) {
                listModel.addElement(object);


List il aimait pas même après avoir fait un import de la librairie en haut, il m'a proposé java.util.List et là il est content.



Merci encore pour votre aide inestimable, je suis reparti dans mon projet!

Amicalement, Laurent
samedi 13 juin 2009 à 02:11:08 | Re : Remplir une Jtable avec un ResultSet

uhrand

Le problème avec List provient du fait que java.util.List et java.awt.List sont des types incompatibles.
Ainsi, l'incompatibilité est résolu:

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.sql.*;
import java.util.*;
import java.awt.List;

Par la suite tu peus utiliser List sans spécifier le nom complet java.util.List.
samedi 13 juin 2009 à 02:15:41 | Re : Remplir une Jtable avec un ResultSet

uhrand

Sorry:

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.sql.*;
import java.util.*;
import java.util.List;

mardi 8 décembre 2009 à 14:56:58 | Re : Remplir une Jtable avec un ResultSet

sara21




l'IA
Bonjour Mr uhrand
je viens de tomber sur cette discussion,et j'essaye de trouver une solution a mon problème pour mon application dont je dois la terminer cette semaine et que ça fais presque 3semaines que je suis avec,ça ressemble a ce problème mais ce que je veux faire c'est :
- je lance une requète pour afficher la liste des produits dans JTable
- dans une boucle de While(R1.next()),je prend l'élément de la table produit et je vais lancer une requete qui va m'envoyé sa quantité et son prix unitaire de la table QPM .
- le resultat retourné sera sur la mm ligne du produit.

je travail avec PostgreSql et java.

voici un peu de ma fonction:
public void remplirTableau()
{

PreparedStatement ps,ps2;
ResultSet R,R2;
RefrechData(Produit);
try
{
String requete = "SELECT * FROM produit ORDER BY ordre ASC ";
String requete2 = "SELECT qnt,prix,montant FROM qpm WHERE qpm.intitule = ? and qpm.code_t = 1 and qpm.jour=? " ;
ps = SeConnecter.connectBase.prepareStatement(requete,ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE);
ps2 = SeConnecter.connectBase.prepareStatement(requete2,ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE);
R = ps.executeQuery();
while (R.next() )
{ nbrE++;}

try
{
R.first();
int n=0,i=1;
do
{
R.absolute(i);
String prod = R.getString(1);
String ordre = R.getString(2);
// coté du produit
Produit[n][0]= ordre;
Produit[n][1]= prod;
try{
do {
ps2.setString(1,Produit[n][1]);
ps2.setString(2,jour.getText());
R2 = ps2.executeQuery();
R2.absolute(i);
String qpt = R2.getString(1);
String pu = R2.getString(2);
String Montant = R2.getString(3);
Produit[n][3]= qpt;
System.out.println("requete2 qpt + "+qpt);
Produit[n][4]= pu;
Produit[n][5]= Montant; }
while(R2.next());

}

catch (SQLException er)
{
System.out.println("Une erreur dans la fonction remplir:" + er);
}


n++;i++;

}while(R.next());
tableProd.setAutoResizeMode (JTable.AUTO_RESIZE_ALL_COLUMNS);
}
catch (SQLException error)
{
System.out.println("Une erreur dans la fonction visualiser le tout" + error);
}
ps.close();
ps2.close();

}

catch (SQLException error)
{
System.err.println("Erreur SQL Affiche contenu :" + error);
}
}

le problème:
il m'affiche que le resultat du premier produit,puis il m'afiche erreur
"org.postgresql.util.PSQLExecption : le ResulSet n'est pas positionné correctement,vous devez peux-être appeler next()"

SVP aidez moi je vous serez trés reconnaissante.
Merci


Cette discussion est classée dans : voil, données, result, resultset, statement


Répondre à ce message

Sujets en rapport avec ce message

Probleme pour modifier des valeurs dans ResultSet [ par gcorbineau ] Bonjour, J'ai petit soucis sur une connection JDBC MYSQL, lorsque je veux modifie une valeur de mon RESULTSET il met que je ne suis PAS en mode de mis ResultSet [ par mdelph ] Je débute dans le monde de l'informatique, et donc java.Le contexte : une base de données sous access, la connexion passe sans problème pour des requê Plusieurs rSet pour un statement ? [ par dalfgan ] Salutje voudrais savoir si on peut avoir plusieurs resultSet pour un seul statement, ou que chaque resultSet doit avoir un statement différent !Petite JComboBox, remplissage et évènements... [ par norkius ] Bonjour, Voilà j'ai récupéré toute une application que je dois améliorer. Entre autre chose j'ai une JComboBox à remplir à partir de données rentrées Lire des données Excel et fournir en sortie du XML [ par niyoscar ] Bonjour à tous,Je suis en train de développer un moteur Java qui lit les données des fichiers Excel et fournit en sortie du XML.Je sais qu'Apache a fo Resultset [ par arystoc ] Bonjour,Je souhaite connaitre le nombre de lignes que me renvoie l'exécution d'une requête de consultation. Je voudrais savir quelle instruction utili question sur les ResultSet [ par nadddd ] salut a tous, ma question : si on ne trouve pas un enregistrement dans une table, que contient le ResultSet? pour pouvoir tester par apres si l'enreg Comment fait on un lien vers un fichier [ par greg3105 ] Bonjour a tous!!!Voilà j'ai fait un programme avec des fenêtres et un menu et je souhaiterais faire une aide sous Word.Donc mon aide est finis mais ma diff servlet et jsp!!!!! [ par progrima ] Sltj'ai déjà travailler un tout petit peu avec des servlets pour faire un petir traitement de lecture et mise à jour des données dans une base de donn evoye des données sur internet [ par jouda20 ] salut à tous,je dois trvailler une application web en utilisant servlet/applet.je n'ai aucune idée sur le format que doivent avoir les données que je


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,499 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales