bonjour a tous,

soit le code suivant :
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
for (int i = 1; i <=nbLigne; i++)
                                {
                                    int numEnga = 0;
                                    decimal sold = 0;
                                    decimal montant_Designation = 0;
                                    int CodeN = 0;
                                    int NumF = 0;
 
                                    req = "select sold,montant_tot_design,CodeN,NumF,Num_Enga from tab_engagement where Exercice=@ExerciceCurrent and Code_SC=@CodeSCCurrent and Code_A = @CodeACurrent and NumF=@NumFCurrent";
                                    connexion.AddParametre("@ExerciceCurrent", SqlDbType.Int, Engagement.Exercice);
                                    connexion.AddParametre("@CodeSCCurrent", SqlDbType.Int, Engagement.CodeSC);
                                    connexion.AddParametre("@CodeACurrent", SqlDbType.Int, Engagement.CodeA);
                                    connexion.AddParametre("@NumFCurrent", SqlDbType.Int, Engagement.NFiche + 1); // Engagement.NFiche+1
                                    connexion.ExecuteReader();
 
                                    if (connexion.rdr.HasRows)
                                    {
                                        while (connexion.rdr.Read())
                                        {
                                               sold = Convert.ToDecimal(connexion.rdr.GetValue(0));
                                               montant_Designation = Convert.ToDecimal(connexion.rdr.GetValue(1)); // ici j'ai le message d'erreur.
                                               CodeN = Convert.ToInt32(connexion.rdr.GetValue(2));
                                              NumF = Convert.ToInt32(connexion.rdr.GetValue(3));
                                            numEnga = Convert.ToInt32(connexion.rdr.GetValue(4)); 
 
                                        }
                                    }
                                 }
en executant le bout de code pas à pas, j'ai le message d'erreur suivant :
Index was outside the bounds of the array
l'exception est générée au niveau de la ligne :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
montant_Designation = Convert.ToDecimal(connexion.rdr.GetValue(1));
.

il est a noté que lorsque je teste directement la requête sur sqlServer elle me retourne le résultat correcte.

quelqu'un pourrait il me dire ou se situe le problème.

Merci.