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

Persistance des données Java Discussion :

[MetaData] nom de colonne null


Sujet :

Persistance des données Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre expérimenté Avatar de Torg666
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2008
    Messages
    230
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2008
    Messages : 230
    Par défaut [MetaData] nom de colonne null
    Dans le but de faire une liste d'objet, ici des objet Site, je me sert des nom des colonnes d'un metadata pour retrouver mes champs et assigner la bonne valeur au Site à partir d'une base de donnée MySQl:
    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
     
    public ArrayList<Site> getListSite() {
     String 	                 query=null;
     ResultSet 	    resultQuery=null;
     ResultSetMetaData   rsmd=null;
     ArrayList<Site> 	    listSite=null;
     Site 		    site=null;
     int 		    nbCol=0;
     String		    colName=null;
     try {
      query="select * from site;";
      resultQuery=this.getConnectionBDD().exeSelect(query);
      rsmd=resultQuery.getMetaData();
      nbCol=rsmd.getColumnCount();
      listSite=new ArrayList<Site>();
      while(resultQuery.next()){
       site=new Site();
       for(int cpt=1;cpt<nbCol;cpt++){
        colName=rsmd.getColumnName(cpt);
        if(colName.compareToIgnoreCase("idsite")==0){
         site.setIdSite(resultQuery.getInt(cpt));
        }else if(colName.compareToIgnoreCase("designation")==0){
         site.setDesignation(resultQuery.getString(cpt));
        }
       }
       listSite.add(site);
      }
     } catch (SQLException sqle) {
      logError.severe("SelectALL: Site \n"+sqle.toString());		
     }
     return listSite;
    }
    Le probleme est que les 2 champs sont bien dans mon metadata, mais que le premier est bien nomé idsite, parcontre le second est nomé null.

    Je dois surement faire quelque chose de travers mais j'arrive pas à trouver.

  2. #2
    Membre Expert

    Homme Profil pro
    Consultant informatique
    Inscrit en
    Janvier 2004
    Messages
    2 301
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 301
    Par défaut
    Hello,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     for(int cpt=1;cpt<nbCol;cpt++){
    ce serait pas
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     for(int cpt=1;cpt<=nbCol;cpt++){
    plutôt?

  3. #3
    Membre expérimenté Avatar de Torg666
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2008
    Messages
    230
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2008
    Messages : 230
    Par défaut
    Bonjour, désolé pour le delai de reponse (j'ai chopé la grippe).
    Le problème est que dans mon metatdata, le nom de colonne est null. J'ai pu le voir grace au debugger, j'ai bien mes 2 colonnes mais "l'entete" de la seconde est null.

    En fait c'est bien pire que cela, j'ai testé sur une table avec pus de champs, seul la premiere colonne est nomé, les autres sont à null...



    Je vais testé avec les "numero" de colonne, ca devrai marcher même si c'est moins lisible derriere...

    En utilisant les numero de colonne, ca marche, mais bon à maintenir derriere ca promets d'etre joyeux, personne ne sais pourquoi on ne peu pas utiliser les nom de colonne dans les metadata?

Discussions similaires

  1. [JTable] les noms des colonnes de s'affichent pas
    Par macben dans le forum Composants
    Réponses: 6
    Dernier message: 25/04/2008, 11h03
  2. [Firebird 1.5] nom des colonnes d'une table
    Par c0rwyn dans le forum SQL
    Réponses: 4
    Dernier message: 03/09/2004, 14h44
  3. [SWING][JTable]Cacher noms des colonnes
    Par Antunes dans le forum Composants
    Réponses: 2
    Dernier message: 28/06/2004, 11h48
  4. Noms de colonne dans une colonne
    Par Digirom dans le forum Langage SQL
    Réponses: 14
    Dernier message: 23/04/2004, 11h51
  5. Mauvais noms de colonnes lors d'une requête
    Par nmathon dans le forum Bases de données
    Réponses: 2
    Dernier message: 09/04/2004, 07h27

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