Récupérer le résultat d'une requêtes dans un
Résolu
dunith
Messages postés
22
Statut
Membre
-
dunith Messages postés 22 Statut Membre -
dunith Messages postés 22 Statut Membre -
Bonjour,
Une question peut être basique pour certain: je suis sur netbeans et je veux récupérer le résultat de ma requêtes dans un jComboBox, donc j'ai procéder comme ça:
private void jComboBox9MousePressed(java.awt.event.MouseEvent evt) {
Combo9();
}
public void Combo9(){
try {
String requeteMysql = "select name from disc";//chaine contenant la requete a executée
result = (ResultSet) new CConnect().stat.executeQuery(requeteMysql);//excuter la requete et la mettre dans une variabale ResulatSet
while (result.next())
{
String combo = result.getString("name");
jComboBox9.addItem(combo);
}
result.close();
} catch (Exception ex) {
JOptionPane.showMessageDialog(null, ex);
}
}
et là il me génère une exception, pourquoi je sais pas
quelqu'un pourra m'aider svp.
Merci :)
--
La vie est un mystère qu'il faut vivre, et non un problème à résoudre.
Une question peut être basique pour certain: je suis sur netbeans et je veux récupérer le résultat de ma requêtes dans un jComboBox, donc j'ai procéder comme ça:
private void jComboBox9MousePressed(java.awt.event.MouseEvent evt) {
Combo9();
}
public void Combo9(){
try {
String requeteMysql = "select name from disc";//chaine contenant la requete a executée
result = (ResultSet) new CConnect().stat.executeQuery(requeteMysql);//excuter la requete et la mettre dans une variabale ResulatSet
while (result.next())
{
String combo = result.getString("name");
jComboBox9.addItem(combo);
}
result.close();
} catch (Exception ex) {
JOptionPane.showMessageDialog(null, ex);
}
}
et là il me génère une exception, pourquoi je sais pas
quelqu'un pourra m'aider svp.
Merci :)
--
La vie est un mystère qu'il faut vivre, et non un problème à résoudre.
7 réponses
-
Ce serait bien que l'on sache quelle est l'exception et sur quelles lignes elle porte.
-
c'est sur la ligne:
result = (ResultSet) new CConnect().stat.executeQuery(requeteMysql);
(Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException)
ma classe CCOnnect est:
public Connection connect=null;
public Statement stat=null;
static {
try {
Class.forName("com.mysql.jdbc.Driver");
} catch (ClassNotFoundException e) {
System.out.println ("Driver non trouve");
}catch(Exception b){
System.out.println ("Problème sur chargement de driver JDBC");
}
}
public void mysql(){
try{
connect = DriverManager.getConnection("jdbc:mysql://localhost/mydb","root","admin");
stat = connect.createStatement();
}catch(SQLException e){
e.printStackTrace();
}
}
-
C'est parce stat vaut null !
public Statement stat=null;
Il faut que tu appelles la méthode mysql pour initialiser sa valeur :
CConnect() c = new CConnect(); c.mysql(); result = (ResultSet) c.stat.executeQuery(requeteMysql);
Ou mieux, inclure mysql dans le code du constructeur de CConnect :
public CConnect() { mysql(); }La confiance n'exclut pas le contrôle -
ça marche merci, mais le souci, j'ai trois colonne et il m'affiche trois fois les nom des colonnes
while (result.next())
{
String combo = result.getString("name");
jComboBox9.addItem(combo);
}
cette condition est-elle bien? -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
désoler j'ai mal formuler ma question enfaite la duplication se passe au niveau des lignes (3ligne et 3fois les mémes ligne3)
-
Autant pour moi, j'avoue ne pas être trop familier avec la partie JDBC de Java ;-)
result.next() passe d'une ligne à l'autre, ça n'agit pas sur les colonnes.
Voici un code qui insère chaque objet, ligne par ligne, mais je ne sais pas si ce que tu veux.
int columnCount = result.getMetaData().getColumnCount(); while (result.next) // on change de ligne { //System.out.println(result.getRow()); for (int columnIndex=1; columnIndex<=columnCount; columIndex++) jComboBox9.addItem(result.getObject(columnIndex)); }
-
-
je cherche à avoir juste les ligne d'une colonne, j'arrive à afficher les ligne mais avec une duplication (3fois)
Merci, vous m'avez beaucoup aider :) -
enfin trouver, il fallait mettre un:jComboBox9.removeAllItem()
avant la boucle while (result.next())
voilà voilà? Merci KX pr votre aide.