Bonjour tout le monde,

Voici 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
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();
			}
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.

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é.
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");
Pour revenir à l'erreur, Il me dit que :
La variable '@NomClien' doit être déclaré
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 :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
dataAdapter.Fill(ds,"InterventionParClt");
donc au moment de passer sur la ligne :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
dataGrid1.DataSource = ds;
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.

Merci d'avance!!
Cordialement.