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 :

NullPointerException lors du remplissage d'un tableau


Sujet :

Collection et Stream Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2008
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2008
    Messages : 52
    Par défaut NullPointerException lors du remplissage d'un tableau
    Bonjour à tous,
    j'ai un petit problème en ce qui concerne "java.lang.NullPointerException" lors du remplissage d'un tableau ! bref .. j'ai une classe "Client" que j'ai construis et quand je récupère les champs de ma base puis je crée une instance du Client cette exception est levée
    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
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    public Client[] getresutlRequ(String requeteClient) throws java.sql.SQLException
    	{
    		//ArrayList listeResult = new ArrayList();
    		Client [] listeResult = new Client [100] ;
    		int i=1;
    		//on se connecte à la BD
    		try
    		{
    			getconnection();
    			Statement stmt = (Statement) conn.createStatement();
    			//ResultSet resSect = (ResultSet) stmt.executeQuery(requeteClient);
    			ResultSet resSect = (ResultSet) stmt.executeQuery(requeteClient);
    			DatabaseMetaData dbmd = conn.getMetaData();
    			//System.out.println("Le nom de la base de donnees est " + dbmd.getDatabaseProductName());
    			//System.out.println("La version de la base de donnees est " + dbmd.getDatabaseProductVersion());
    			//System.out.println("Le nom du pilote est " + dbmd.getDriverName());
    			//System.out.println("La version du pilote est " + dbmd.getDriverVersion());
     
    			//+ Boucle sur les lignes de la requête
    			while (resSect.next())
    			{
    				//+ On lit les champs de la ligne
    				//listeResult.add(resSect.getString(champ.toString()));
     
    				String id = resSect.getString(1);
    				String rais_soc = resSect.getString(2);
    				String tel_fax = resSect.getString(3);
    				String email = resSect.getString(4);
    				//System.out.println(id + " " + rais_soc + " " + tel_fax + " " + email);
    				//Client clt = new Client (id,rais_soc,tel_fax,email);
    				//System.out.println(clt.toString());
    				//listeResult.add(clt);
    				listeResult[i].setEmail(email);
    				listeResult[i].setId(id);
    				listeResult[i].setRais_soc(rais_soc);
    				listeResult[i].setTel_fax(tel_fax);
    				System.out.println(listeResult[i].getEmail());
    				i++;
     
     
     
    			}
    			//System.out.println("Taille du tab "+listeResult.length );
    			//System.out.println(listeResult.get(0));
    			//c = (Client) listeResult.get(0);
     
    			//System.out.println(listeResult[1].getTel_fax());
     
    			//+ Fermeture de la leiocture de la requête
    			resSect.close();
    			//+ Fermeture de la connexion
    			conn.close();
    		}
    		catch (SQLException e)
    		{
    			e.printStackTrace();
    		}
    		//System.out.println("Résultat de la requête SQL : "+listeResult.length);
     
    		//+ Renvoi de la liste des champs retournés
    		return listeResult;
    	}

  2. #2
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Par défaut
    Bonjour,

    Parce que tu n'as fait qu'allouer le mémoire pour le tableau mais tu ne l'as pas rempli.
    Utilise plutôt un List (ArrayList) que d'un tableau avec une taille fixe.
    Le premier indice d'un tableau est 0 mais pas 1.

    Pour corriger ton code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     Client cl = new Client();
    cl.setEmail(email);
    ...
    listeResult[i] = client;
    A+.

  3. #3
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2008
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2008
    Messages : 52
    Par défaut
    Citation Envoyé par andry.aime Voir le message
    Bonjour,

    Parce que tu n'as fait qu'allouer le mémoire pour le tableau mais tu ne l'as pas rempli.
    Utilise plutôt un List (ArrayList) que d'un tableau avec une taille fixe.
    Le premier indice d'un tableau est 0 mais pas 1.

    Pour corriger ton code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     Client cl = new Client();
    cl.setEmail(email);
    ...
    listeResult[i] = client;
    A+.

    ça marche parfaitement avec un ArrayList merci bien l'ami

Discussions similaires

  1. Problème lors du remplissage d'un tableau
    Par KevDrn dans le forum Excel
    Réponses: 1
    Dernier message: 10/07/2013, 12h05
  2. Réponses: 16
    Dernier message: 01/06/2008, 20h01
  3. Réponses: 15
    Dernier message: 22/12/2006, 14h28
  4. Réponses: 13
    Dernier message: 14/10/2003, 14h31
  5. Réponses: 11
    Dernier message: 04/08/2003, 15h30

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