Problème Index hors limite [Résolu]

Messages postés
24
Date d'inscription
vendredi 18 avril 2008
Dernière intervention
16 avril 2013
- - Dernière réponse : Bonieck
Messages postés
9
Date d'inscription
lundi 17 novembre 2003
Dernière intervention
13 novembre 2011
- 4 nov. 2011 à 15:39
Bonjour.
J'ai un problème au niveau de mon code, je souhaite récupérer des données dans ma base, les stocker dans une liste (mesCamions) et m'en servir pour remplir un datagridview, voila le bout de code qui me pose problème:

//déclaration de ma liste
List<camion> mesCamions;
mesCamions= new List<camion>();
// déclaration de mon index
int i;
i = 0;
//boucle pour remplir ma liste de camions
while (dr.Read())
{ mesCamions[i].Immatriculation = dr[ "AUTMAT"].ToString();
mesCamions[i].Adresse = dr["LBADR1"].ToString();
mesCamions[i].Complement = dr["LBADR2"].ToString();
mesCamions[i].DateEntree = dr["DTENTA"].ToString();
mesCamions[i].Nom = dr["NMCLI"].ToString();
mesCamions[i].Nomcla = dr["NMCLA"].ToString();
mesCamions[i].Ville = dr["LBVILL"].ToString();
mesCamions[i].Notel = dr["NOTEL1"].ToString();
mesCamions[i].Cp = dr["CDPOST"].ToString();
i++;}
Je travaille sous visual studio et j'ai une erreur:
L'index était hors limites. Il ne doit pas être négatif et doit être inférieur à la taille de la collection.
Nom du paramètre : index

Que je mette l'index à 1 ou à zéro j'ai le même souci.
Quelqu'un peut il m'aider svp? je débute  et j'ai vraiment du mal
Afficher la suite 

Votre réponse

5 réponses

Meilleure réponse
Messages postés
357
Date d'inscription
jeudi 8 juin 2006
Dernière intervention
26 décembre 2011
3
Merci
Salut,
C'est normal ta liste "mesCamions" est vide.
Quand tu essaye d'accéder à un élément tu ne peut pas.
Il faut y ajouter des élément via la méthode Add.

1) 1er solution

while (dr.Read())
{
mesCamions.Add(new camion());
mesCamions[i].Immatriculation = dr["AUTMAT"].ToString();
mesCamions[i].Adresse = dr["LBADR1"].ToString();
mesCamions[i].Complement = dr["LBADR2"].ToString();
mesCamions[i].DateEntree = dr["DTENTA"].ToString();
mesCamions[i].Nom = dr["NMCLI"].ToString();
mesCamions[i].Nomcla = dr["NMCLA"].ToString();
mesCamions[i].Ville = dr["LBVILL"].ToString();
mesCamions[i].Notel = dr["NOTEL1"].ToString();
mesCamions[i].Cp = dr["CDPOST"].ToString();
i++;
}

1) 2eme solution

while (dr.Read())

{
camion MonCamion =  new camion();


MonCamion.Immatriculation = dr["AUTMAT"].ToString();

MonCamion.Adresse = dr["LBADR1"].ToString();

MonCamion.Complement = dr["LBADR2"].ToString();

MonCamion.DateEntree = dr["DTENTA"].ToString();

MonCamion.Nom = dr["NMCLI"].ToString();

MonCamion.Nomcla = dr["NMCLA"].ToString();

MonCamion.Ville = dr["LBVILL"].ToString();

MonCamion.Notel = dr["NOTEL1"].ToString();

MonCamion.Cp = dr["CDPOST"].ToString();

mesCamions.Add(MonCamion);


}

A+

Merci xmox667 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 97 internautes ce mois-ci

Commenter la réponse de xmox667
Messages postés
327
Date d'inscription
mardi 17 février 2004
Dernière intervention
10 avril 2010
0
Merci
Salut,

ta liste est vide, donc mesCamions[i] te retournera toujours une exception quelque soit i

Essaye de créer un nouveau camion dans ta boucle et de l'ajouter à ta liste

while(dr.Read())
{
camion cam = new Camion();
cam.Adresse = ..
cam.Complement = ...

mesCamions.Add(cam);
}
Commenter la réponse de WishhhMaster
Messages postés
327
Date d'inscription
mardi 17 février 2004
Dernière intervention
10 avril 2010
0
Merci
lol dsl j'avais pas rafraîchi la page avant de poster
Commenter la réponse de WishhhMaster
Messages postés
24
Date d'inscription
vendredi 18 avril 2008
Dernière intervention
16 avril 2013
0
Merci
merci c'est bien ça!!! merci beaucoup pour vos réponses
Commenter la réponse de luudii34
Messages postés
9
Date d'inscription
lundi 17 novembre 2003
Dernière intervention
13 novembre 2011
0
Merci
Slt à ts ! je sollicite votre aide.

Je souhaite affiche des onglets au fur et à mésure que je clique sur des éléments de mon menu.
le problème est que lorsque je souhaite afficher un onglet déjà affiché, il me sort l'erreur suivante : l'index était hors limite, il ne doit pas être négatif et supérieur à la taille de la collection. L'index me ramène une valeur de -1.
Commenter la réponse de Bonieck

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.