cid019
Messages postés237Date d'inscriptionmercredi 2 juin 2004StatutMembreDernière intervention11 juillet 2006
-
17 juin 2004 à 14:58
kirua12
Messages postés1155Date d'inscriptionsamedi 17 janvier 2004StatutMembreDernière intervention29 avril 2011
-
18 juin 2004 à 19:32
bonjour a tous,
voila j'ai un probleme d'execution de requete SQL.
try
{
Statement requete = c.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_READ_ONLY);
ResultSet r = requete.executeQuery("SELECT DISTINCT nom_com FROM commune");
r.last();
String[] res = new String[r.getRow()];
System.out.println(r.getRow());
r.beforeFirst();
int i = 0;
while (r.next())
{
res[i] = r.getString(1);
System.out.println(res[i]);
i++;
}
return res;
}
catch(Exception e)
{
}
return new String[0];
Si dans ma table 'Commune' j'ai deux ville portant le même nom il me renvoit systematiquement une table vide alors qu'il devrait mettre qqch dedans.
Par exemple si je n'ai pas de doublons pas de pbs tout marche bien.
Mais, si j'ai des doublons, comme actuellement, ca plante.
Il m'indique un nombre de lignes à 3 et ne m'affiche que 2 valeurs ce qui est normal. Mais pq 3 lignes? Avec le DISTINCT il ne devrait pas supprimer les lignes avec les doublons?
Cette requete sert pour ajouter une liste d'Item à un JComboBox.
kirua12
Messages postés1155Date d'inscriptionsamedi 17 janvier 2004StatutMembreDernière intervention29 avril 20118 17 juin 2004 à 22:24
Salut,
je dois dire que ta façon te remplir ton tableau est originale :)
Essaie plutôt d'utiliser des listes ce qui est beaucoup plus simple et performant.
Sinon pour ta requête je vois pas de pb particulier ...
List result=new ArrayList();
try
{
Statement requete = c.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_READ_ONLY);
ResultSet r = requete.executeQuery("SELECT DISTINCT nom_com FROM commune");
while (r.next())
{
String commune=r.getString(1);
result.add(commune);
System.out.println(commune);
}
}
catch(SQLException e)
{
System.err.println(e.getMessage());
}
return (String[]) result.toArray(new String[result.size()]);
cid019
Messages postés237Date d'inscriptionmercredi 2 juin 2004StatutMembreDernière intervention11 juillet 2006 18 juin 2004 à 08:12
Merci a toi,
tu m'auras vraiment bcp aidé pr ce projet.
Cela dit pour le remplissage de tableau original, j'ai toujours fait comme ca jusqu'a maintenant et ca a tjs bien marché.
Au fait truc qui n'a rien a voir : serait-il possible pour un JTable de rendre non saisissable uniquement certaines colonnes et pas d'autres?
kirua12
Messages postés1155Date d'inscriptionsamedi 17 janvier 2004StatutMembreDernière intervention29 avril 20118 18 juin 2004 à 19:32
pour rendre certaines colonnes éditables, il faut définir le modèle de la table (TableModel). C'est très simple à faire, il suffit de définir un model en héritant de DefaultTableModel et de redéfinir les méthodes isCellEditable et setValueAt.