Problème Index hors limite [Résolu]

luudii34 24 Messages postés vendredi 18 avril 2008Date d'inscription 16 avril 2013 Dernière intervention - 27 févr. 2009 à 09:57 - Dernière réponse : Bonieck 9 Messages postés lundi 17 novembre 2003Date d'inscription 13 novembre 2011 Dernière intervention
- 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 

5 réponses

Répondre au sujet
xmox667 357 Messages postés jeudi 8 juin 2006Date d'inscription 26 décembre 2011 Dernière intervention - 27 févr. 2009 à 10:38
+3
Utile
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+
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de xmox667
WishhhMaster 327 Messages postés mardi 17 février 2004Date d'inscription 10 avril 2010 Dernière intervention - 27 févr. 2009 à 10:42
0
Utile
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
WishhhMaster 327 Messages postés mardi 17 février 2004Date d'inscription 10 avril 2010 Dernière intervention - 27 févr. 2009 à 10:43
0
Utile
lol dsl j'avais pas rafraîchi la page avant de poster
Commenter la réponse de WishhhMaster
luudii34 24 Messages postés vendredi 18 avril 2008Date d'inscription 16 avril 2013 Dernière intervention - 27 févr. 2009 à 11:24
0
Utile
merci c'est bien ça!!! merci beaucoup pour vos réponses
Commenter la réponse de luudii34
Bonieck 9 Messages postés lundi 17 novembre 2003Date d'inscription 13 novembre 2011 Dernière intervention - 4 nov. 2011 à 15:39
0
Utile
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.