Problème Index hors limite

Résolu
luudii34 Messages postés 24 Date d'inscription vendredi 18 avril 2008 Statut Membre Dernière intervention 16 avril 2013 - 27 févr. 2009 à 09:57
Bonieck Messages postés 9 Date d'inscription lundi 17 novembre 2003 Statut Membre 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
A voir également:

5 réponses

xmox667 Messages postés 357 Date d'inscription jeudi 8 juin 2006 Statut Membre Dernière intervention 26 décembre 2011 4
27 févr. 2009 à 10:38
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+
3
Rejoignez-nous