Bonjour tout le monde,
Voici le code suivant :Ce code devrait me permettre d'afficher dans un dataGrid 3 colonnes correspondant a des rnseignement de ma base SqlSrver. Je travail sous VS.Net2003.
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 // Code permettant d'afficher les numéros, la quantité passé et facturé de chaque intervention correspondant à la période choisi pour le client choisi. paramNomClient = new SqlParameter("@NomClient", SqlDbType.Char, 20); paramNomClient.Value = NomClient.Text; paramDateMin = new SqlParameter("@DateMin", SqlDbType.VarChar, 15); paramDateMin.Value = DateMin.Value.ToString("yyyy/MM/dd"); paramDateMax = new SqlParameter("@DateMax", SqlDbType.VarChar, 15); paramDateMax.Value = DateMax.Value.ToString("yyyy/MM/dd"); string InterventionParClt = ("SELECT COUNT(SUBSTRING(IN_NUMINTER, 1,10)) as InterventionParClt, IN_NUMINTER, IN_HPASSE, IN_HFACTUR FROM INTERVENTION, CLIENT WHERE INTERVENTION.IN_NUMCLT=CLIENT.C_NUMCLT AND C_NOMCLT = @NomClient AND IN_NUMINTER BETWEEN @DateMin AND @DateMax GROUP BY IN_NUMINTER, IN_HPASSE, IN_HFACTUR"); command = new SqlCommand(sql, connection); command.Parameters.Add(paramNomClient); command.Parameters.Add(paramDateMin); command.Parameters.Add(paramDateMax); connection.Open(); try { SqlDataAdapter dataAdapter = new SqlDataAdapter(InterventionParClt, connection); DataSet ds = new DataSet(); dataAdapter.Fill(ds,"InterventionParClt"); dataGrid1.DataSource = ds; dataGrid1.DataMember = "InterventionParClt"; } catch(Exception ex) { MessageBox.Show(ex.ToString()); } finally { connection.Close(); }
Lorsque je teste ce code sans paramètre mais avec des valeurs brut alors ça fonctionne mais depuis que j'ai rajouté les paraètres, ça fonctionne plus.
A SAVOIR : Plus haut j'ai mis le code suivant doc les paramètres sont déja nommé.
Pour revenir à l'erreur, Il me dit que :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 SqlParameter paramNomClient = new SqlParameter("@NomClient", SqlDbType.Char, 20); paramNomClient.Value = NomClient.Text; SqlParameter paramDateMin = new SqlParameter("@DateMin", SqlDbType.VarChar, 15); paramDateMin.Value = DateMin.Value.ToString("yyyy/MM/dd"); SqlParameter paramDateMax = new SqlParameter("@DateMax", SqlDbType.VarChar, 15); paramDateMax.Value = DateMax.Value.ToString("yyyy/MM/dd");Mais elle est déja déclaré donc je ne comprend pas pourquoi. Le message d'erreur intervient aprés être passé sur la ligne suivante :La variable '@NomClien' doit être déclarédonc au moment de passer sur la ligne :
Code : Sélectionner tout - Visualiser dans une fenêtre à part dataAdapter.Fill(ds,"InterventionParClt");Avez-vous une idée pourquoi?? et comment je peux résoudre ce problème?? car j'ai beau réfléchir, étudier le code.... depuis des heures je ne trouve pas pourquoi et comment.
Code : Sélectionner tout - Visualiser dans une fenêtre à part dataGrid1.DataSource = ds;
Merci d'avance!!
Cordialement.
Partager