oulanos
Messages postés25Date d'inscriptionvendredi 14 avril 2006StatutMembreDernière intervention10 mai 2010
-
8 juin 2009 à 16:59
cs_sara21
Messages postés5Date d'inscriptionsamedi 16 juin 2007StatutMembreDernière intervention16 décembre 2009
-
8 déc. 2009 à 14:56
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
uhrand
Messages postés491Date d'inscriptionsamedi 20 mai 2006StatutMembreDernière intervention15 juillet 20129 12 juin 2009 à 06:27
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;
}
oulanos
Messages postés25Date d'inscriptionvendredi 14 avril 2006StatutMembreDernière intervention10 mai 2010 9 juin 2009 à 09:11
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
Vous n’avez pas trouvé la réponse que vous recherchez ?
cs_sara21
Messages postés5Date d'inscriptionsamedi 16 juin 2007StatutMembreDernière intervention16 décembre 2009 8 déc. 2009 à 14:56
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();
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