IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP.NET Discussion :

La variable scalaire "" doit être déclarée. [Débutant]


Sujet :

ASP.NET

  1. #1
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Septembre 2011
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Septembre 2011
    Messages : 13
    Points : 10
    Points
    10
    Par défaut La variable scalaire "" doit être déclarée.
    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

  2. #2
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Septembre 2011
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Septembre 2011
    Messages : 13
    Points : 10
    Points
    10
    Par défaut
    Problème résolu, en fait dans mon Default.aspx, j'avais un SqlDataSource qui trainait et qui appelait ma commande sans passer le paramètre.
    Ce n'était pas lié à ce qui se passait dans ma méthode.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Débutant] variable scalaire doit être déclarée
    Par 136mdc dans le forum Général Dotnet
    Réponses: 0
    Dernier message: 14/03/2014, 09h30
  2. Erreur : La variable scalaire "@variable" doit être déclarée
    Par oliviers92 dans le forum Développement
    Réponses: 6
    Dernier message: 24/09/2013, 23h17
  3. Erreur La variable scalaire "@var" doit être déclarée.
    Par sawnet dans le forum Développement
    Réponses: 1
    Dernier message: 21/11/2012, 10h40
  4. Procédure stockée : la variable scalaire doit être déclarée
    Par joanita_lo dans le forum Développement
    Réponses: 7
    Dernier message: 21/08/2012, 08h59
  5. Réponses: 2
    Dernier message: 31/05/2011, 12h12

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo