Bonjour à tous,

J'ai fait quelques recherches sur le sujet, mais je n'arrive pas a résoudre mon problème (la plupart des cas sont avec des commandes sql paramétrées qui sont dans le corps du fichier aspx et non dans le webconfig)

J'ai dans mon fichier Web.config
Code : Sélectionner tout - Visualiser dans une fenêtre à part
<add key="selectByProduit" value="select [Vendeur],SUM([Montant]) FROM [TableVentes] WHERE [Objet]=@Produit GROUP BY [Vendeur] "/>
Dans mon fichier
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
 using (SqlConnection connexion = new SqlConnection(Global.ConnectionString))
                {
                    connexion.Open();
                    using (SqlTransaction tx = connexion.BeginTransaction())
                    {
                        //
                        command.Connection = connexion;
                        command.CommandText = ConfigurationManager.AppSettings["selectByProduit"];
 
 
                        command.Parameters.AddWithValue("@Produit", DropDownListProduit.SelectedValue);
 
                        command.Transaction = tx;
A l'exécution, on me dit que :
[SqlException (0x80131904): La variable scalaire "@Produit" doit être déclarée.]
J'ai bien essayé de :
*déclarer la variable
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
SqlParameter param = new SqlParameter();
param.ParameterName = "@Produit";
                        param.Value = DropDownListProduit.SelectedValue;
 
 
                        command.Parameters.AddWithValue(param.ParameterName, param.Value);
* faire passer la valeur du paramètre avec des valeurs de test
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
 command.Parameters.AddWithValue("@Produit", "Chaussure");
ou
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
 command.Parameters.AddWithValue("@Produit", 1);
mais rien n'y fait.

Je pense donc que l'erreur vient de mon fichier Web.config.


Code xml : 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
32
33
34
35
36
37
38
39
40
41
42
<?xml version="1.0"?>
<!--
  Pour plus d'informations sur la configuration de votre application ASP.NET, consultez
  <a href="http://go.microsoft.com/fwlink/?LinkId=169433" target="_blank">http://go.microsoft.com/fwlink/?LinkId=169433</a>
  -->
<configuration>
  <system.webServer>
    <handlers>
      <remove name="ChartImageHandler" />
      <add name="ChartImageHandler" preCondition="integratedMode" verb="GET,HEAD,POST"
        path="ChartImg.axd" type="System.Web.UI.DataVisualization.Charting.ChartHttpHandler, System.Web.DataVisualization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
    </handlers>
  </system.webServer>
  <connectionStrings>
    <add name="dbVentesConnectionString" connectionString="Data Source=.\SQLEXPRESS;Initial Catalog=dbVentes;Integrated Security=True" providerName="System.Data.SqlClient"/>
  </connectionStrings>
  <appSettings>
    <add key="selectTransactionV" value="select [Vendeur],[Montant],[Remise],[Objet],[Client] from [TableVentes]" />
    <add key="ChartImageHandler" value="storage=file;timeout=20;dir=c:\TempImageFiles\;" />
    <add key="PlotGraph" value="SELECT [Vendeur], SUM([Montant]) FROM [TableVentes] GROUP BY [Vendeur]"/>
    <add key="selectByVendeur" value="select [Objet],SUM([Montant]) FROM [TableVentes] where [Vendeur]=@Vendeur"/>
    <add key="selectByProduit" value="select [Vendeur],SUM([Montant]) FROM [TableVentes] WHERE [Objet]=@Produit GROUP BY [Vendeur] "/>
  </appSettings>
 
  <system.web>
    <httpHandlers>
      <add path="ChartImg.axd" verb="GET,HEAD,POST" type="System.Web.UI.DataVisualization.Charting.ChartHttpHandler, System.Web.DataVisualization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
        validate="false" />
    </httpHandlers>
    <pages>
      <controls>
        <add tagPrefix="asp" namespace="System.Web.UI.DataVisualization.Charting"
          assembly="System.Web.DataVisualization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
      </controls>
    </pages>
    <compilation debug="true" targetFramework="4.0">
      <assemblies>
        <add assembly="System.Web.DataVisualization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
      </assemblies>
    </compilation>
  </system.web>
</configuration>


Il y a t il quelque chose à ajouter pour la déclaration de mon paramètre @Produit ?

Merci de votre aide !



Alexandre