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

Collection et Stream Java Discussion :

ArrayList et base de données


Sujet :

Collection et Stream Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Octobre 2007
    Messages
    203
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 203
    Par défaut ArrayList et base de données
    Bonjours,

    voilà, j'ai ma classe EtabModel:

    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
    33
    34
    35
    36
    public class EtabModel
    {
     
    //Attributs
           private String denominationEts="";
           private String siegeSocial="";
     
    //Accessors
           public String getDenominationEts()
           {
             return denominationEts;
           }
           public String getSiegeSocial()
           {
             return siegeSocial;
           }
     
    /**
     * Default constructor
     */
           public EtabModel()
            {
            }
    /**
     * Constructor from a resultSet
     *@throws SQLException
     */
           public EtabModel(ResultSet rst) throws SQLException
           {
               while(rst.next()){
               denominationEts=rst.getString("denominationEts");
               siegeSocial=rst.getString("siegeSocial");
               }
           }
     
    }
    et une des méthodes de ma classe BaseDonnees:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
      public ResultSet lireEts(int id)throws SQLException, ClassNotFoundException{
                Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
               Connection connection=DriverManager.getConnection("jdbc:odbc:busnessplan");
               Statement statement=connection.createStatement();
               String sql=("select * from etablissements where idEts='"+id+"'");
                 ResultSet rst=statement.executeQuery(sql);
      return rst;
      }
    J'aimerais donc créer autant d'établissement que je veux et les mettre dans une ArrayList pour après afficher la dénominationEts.

    Voici mon code:

    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
    33
    34
    class EssaiTab extends JFrame
    {
     
     
      public static void main(String[] argv)
      {
        JFrame monCadre=new JFrame();
        JLabel label=new JLabel();
        BaseDonnees bdd=new BaseDonnees();
        JPanel panel=new JPanel();
        FlowLayout disposition=new FlowLayout();
        ArrayList liste=new ArrayList();
     
        panel.setLayout(disposition);
     
    try{
     
        for(int i=1;i<4;i++)
        {
          liste.add(new EtabModel(bdd.lireEts(i)));
        }
        EtabModel etab1=(EtabModel)liste.get(0);
        String denoEts=(String)etab1.getDenominationEts();
        label.setText(denoEts);
        panel.add(label);
    }
      catch(Exception e){
      System.out.println("Erreur lors de l'ouverture de la base de données:"+ e.getMessage());
      }
     
        monCadre.setContentPane(panel);
        monCadre.setVisible(true);
      }
    }
    l'erreur est:
    note:EssaiTab.java uses unchecked or unsafe operations
    note: Recompile with _Xlint: unchecked for details

    J'ai regardé sur le net pour comprendre cette erreur mais solution en anglais (mon niveau s'améliore mais n'est vraiment pas encore au top)

    merci pour votre aide
    claire

  2. #2
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Août 2002
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2002
    Messages : 44
    Par défaut
    Ceci est du au fait que tu ne spécifies pas explicitement la classe des objets qui seront dans ta collection. Pour cela, il faut utiliser les generics.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    List<EtabModel> liste = new ArrayList<EtabModel>();

  3. #3
    Membre confirmé
    Inscrit en
    Octobre 2007
    Messages
    203
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 203
    Par défaut
    merci beaucoup
    Ca marche
    claire

  4. #4
    Membre chevronné Avatar de JoloKossovar
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    532
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 532
    Par défaut
    Essai de type ta liste comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    List<EtabModel> liste = new ArrayList<EtabModel>();
    EDIT : grilled ^^

  5. #5
    Membre Expert
    Avatar de CheryBen
    Inscrit en
    Mai 2005
    Messages
    1 599
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Mai 2005
    Messages : 1 599
    Par défaut
    Tu trouveras des explications précises dans la FAQ

  6. #6
    Membre confirmé
    Inscrit en
    Octobre 2007
    Messages
    203
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 203
    Par défaut
    cool pour l'explication en français:

    mais maintenant il y a un autre problème avec ma requête: je ne sais pas si je dois changer de sujet car c'est avec le même code qui est au dessus.

    j'ai mis des try de partout et mon erreur est la suivante:

    type de données incompatible dans l'expression du critère.

    pourtant dans ma base, idEts est un entier,
    et dans ma boucle :
    c'est bien un int

    et dans ma méthode:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    public ResultSet lireEts(int id)
    j'ai bien mis aussi int

    ça doit être une erreur bête mais je ne vois pas.
    merci encore
    claire

  7. #7
    Membre chevronné Avatar de JoloKossovar
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    532
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 532
    Par défaut
    Essai avec Integer a la place de int.

  8. #8
    Membre confirmé
    Inscrit en
    Octobre 2007
    Messages
    203
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 203
    Par défaut
    déjà essayé mais exactement la même erreur

    pour être exacte, idEts dans base données est de type numérique(entier).

  9. #9
    Membre expérimenté

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2008
    Messages
    85
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Avril 2008
    Messages : 85
    Par défaut
    Salut, je vais peut-être dire une connerie, mais si ton id est de type int il ne faut pas virer les quote ' ' autour de l'id?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    "select * from etablissements where idEts="+id
    Simple suggestion, sans conviction, mais au moins c'est rapide à tester...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Enregistrer un ArrayList dans une base de données
    Par ssk2510 dans le forum Collection et Stream
    Réponses: 17
    Dernier message: 13/05/2011, 16h01
  2. Insérer une ArrayList dans une Base de données
    Par takepaf dans le forum JDBC
    Réponses: 3
    Dernier message: 21/03/2008, 08h07
  3. Remplir un ArrayList avec une base de données
    Par mout551 dans le forum ASP.NET
    Réponses: 10
    Dernier message: 31/07/2007, 15h43
  4. [Concept] Stabilité d'une base de donnée
    Par lassmust dans le forum Décisions SGBD
    Réponses: 3
    Dernier message: 03/07/2002, 16h16
  5. associer une base de données(access) a un dbgrid
    Par ange1708 dans le forum MFC
    Réponses: 3
    Dernier message: 11/06/2002, 12h18

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