none
probleme RRS feed

  • Question

  • bonjour,

    je met à jour une application web sous visual studio 2008 en asp.net et vb.

    mon probléme est lorsque je lance mon application j'ai un message d'erreur me disant "la variable scalaire "@identreprise" doit etre déclaré. syntaxe incorrecte vers ')'".

    est ce qu'une personnne peut m'aider s'il vous plait voici le code que l'on me montre quand l'on m'indique ce probléme

    'Selection de la source de l'avenant (Existant/Vierge)

     

    Protected Sub RadioButtonListSource_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs)

     

    If RadioButtonListSource.SelectedValue = "Nouveau" Then

    PanelNewAvenant.Visible =

    True

    PanelAddAvenant.Visible =

    False

    NewAvenantUC.InitMode(FormViewMode.Insert)

    'Module d'avenant en mode insertion

     

    Else 'If Existant then

    PanelNewAvenant.Visible =

    False

    PanelAddAvenant.Visible =

    True

    GridViewDoc.DataBind()

    ' on me montre cette ligne

     

    End If

     

    End Sub

    jeudi 25 mars 2010 10:01

Réponses

Toutes les réponses

  • Bonjour,

    A priori cette erreur est du au chargement de la grille GridViewDoc.

    Si la grille est lié à une sqldatasource, peut être avez oublier d'ajouter le paramètre identreprise dans la balise SelectParameters

    Sinon vérifier aussi sa présence dans DataKeyNames de la grille

    Si cela ne fonctionne toujours pas, vous est il possible de nous montrer le code aspx de cette page ?

    Cordialement

    jeudi 25 mars 2010 10:28
    Modérateur
  • merci pour ta réponse nikho, mais sa ne fonctionne toujours pas, voici une parti de mon code aspx

     

    <td class="style1">

    Avenant

    </td>

     

    <td class="style2">

     

    <asp:RadioButtonList

     

    ID="RadioButtonListSource"

     

    runat="server"

     

    AutoPostBack="True"

     

    OnSelectedIndexChanged="RadioButtonListSource_SelectedIndexChanged"

     

    RepeatDirection="Horizontal"

     

    Width="280px">

     

    <asp:ListItem

     

    Selected="True">Existant</asp:ListItem>

     

    <asp:ListItem>Nouveau</asp:ListItem>

     

    </asp:RadioButtonList>

     

    </td>

     

    </tr>

     

    </table>

     

    <br />

     

    <asp:Panel

     

    ID="PanelAddAvenant"

     

    runat="server"

     

    GroupingText="Avenant existant"

     

    Width="100%">

     

    <div class="panelcontent">

     

    <br />

     

    <asp:GridView

     

    ID="GridViewDoc"

     

    runat="server"

     

    AllowPaging="True"

     

    AutoGenerateColumns="False"

     

    DataKeyNames="identreprise,idAvenant"

     

    DataSourceID="SqlDataSourceDoc"

     

    EmptyDataText="(Aucun document trouv‚)"

     

    Width="100%">

     

    <Columns>

     

    <asp:BoundField

     

    DataField="Nom"

     

    HeaderText="Nom"

     

    ReadOnly="True"

     

    SortExpression="Nom" />

     

    <asp:CommandField

     

    ButtonType="Button"

     

    ShowSelectButton="True"

     

    SelectText="Selectionner">

     

    <ItemStyle

     

    Width="50px" />

     

    </asp:CommandField>

     

    </Columns>

     

    </asp:GridView>

     

    <asp:SqlDataSource

     

    ID="SqlDataSourceDoc"

     

    runat="server"

     

    ConnectionString="<%$ ConnectionStrings:PDP %>"

     

    SelectCommand="SELECT Avenant.Nom, Avenant.Description, Avenant.idAvenant FROM Avenant LEFT OUTER JOIN AvenantPDP LEFT OUTER JOIN Entreprise INNER JOIN PDP ON Entreprise.idEntreprise = PDP.idEntreprise INNER JOIN DonneurOrdreCommande INNER JOIN DonneurOrdre ON DonneurOrdreCommande.idDonneurOrdre = DonneurOrdre.idDonneurOrdre INNER JOIN Commande ON DonneurOrdreCommande.idCommande = Commande.idCommande ON PDP.idPDP = Commande.idPDP ON AvenantPDP.idPDP = PDP.idPDP ON Avenant.idAvenant = AvenantPDP.idAvenant WHERE (ISNULL(CAST(PDP.idEntreprise AS varchar), '') LIKE '%' + @idEntreprise + '%') AND (ISNULL(CAST(PDP.Numero AS varchar), '') LIKE '%' + @NumeroPDP + '%') AND (ISNULL(DonneurOrdre.Nom, '') LIKE '%' + @DonneurOrdre + '%') AND (Avenant.idAvenant NOT IN (SELECT idAvenant FROM AvenantPDP AS AP WHERE (idPDP = @idPDP)))">

     

    <SelectParameters>

     

    <asp:ControlParameter

     

    ControlID="ParamidPDP"

     

    DefaultValue="-1"

     

    Name="idPDP"

     

    PropertyName="Text" />

     

    </SelectParameters>

     

    </asp:SqlDataSource>

     

    <asp:Label

     

    ID="LabelNoSelection"

     

    runat="server"

     

    CssClass="textcenter"

     

    ForeColor="Red"

     

    Text="Veuillez selectionner un avenant"

     

    Visible="False"

     

    Width="100%" />

     

    </div>

     

    </asp:Panel>

     

    <asp:Panel

     

    ID="PanelNewAvenant"

     

    runat="server"

     

    GroupingText="Nouvel avenant"

     

    Visible="False"

     

    Width="100%">

     

    <div class="panelcontent">

     

    <uc2:Avenant

     

    ID="NewAvenantUC"

     

    runat="server" />

     

    </div>

     

    </asp:Panel>

     

    <br />

     

    <table style="width: 100%">

     

    <tr>

     

    <td style="text-align: left">

     

    <asp:LinkButton

     

    ID="LinkButton1"

     

    runat="server"

     

    OnClick="LinkButtonAjouterAnnuler_Click">Annuler</asp:LinkButton></td>

     

    <td style="text-align: right">

     

    <asp:LinkButton

     

    ID="LinkButtonAjouterAvenantPDP"

     

    runat="server"

     

    OnClick="LinkButtonAjouterAvenantPDP_Click">Ajouter</asp:LinkButton></td>

     

    </tr>

     

    </table>

     

    </div>

     

    </asp:Panel>

     

    </asp:Panel>

    </

     

    asp:Panel>

    <

     

    asp:SqlDataSource

     

    ID="SqlDataSourceAvenantPDP"

     

    runat="server"

     

    ConnectionString="<%$ ConnectionStrings:PDP %>"

     

    DeleteCommand="DELETE FROM [AvenantPDP] WHERE [idAvenant] = @idAvenant AND [idPDP] = @idPDP"

     

    InsertCommand="INSERT INTO [AvenantPDP] ([idAvenant], [idPDP], [Localisation]) VALUES (@idAvenant, @idPDP, @Localisation)"

     

    SelectCommand="SELECT AvenantPDP.idAvenant, AvenantPDP.idPDP, AvenantPDP.Localisation, CAST(CASE WHEN DateSignatureDO IS NULL THEN 0 WHEN DateSignatureEE IS NULL THEN 0 ELSE 1 END AS bit) AS Signature, AvenantPDP.DateSignatureDO, AvenantPDP.DateSignatureEE, Avenant.Nom, Avenant.Description, Avenant.idDocument FROM AvenantPDP INNER JOIN Avenant ON AvenantPDP.idAvenant = Avenant.idAvenant WHERE (AvenantPDP.idPDP = @idPDP)"

     

    UpdateCommand="UPDATE [AvenantPDP] SET [Localisation] = @Localisation, [DateSignatureDO] = @DateSignatureDO, [DateSignatureEE] = @DateSignatureEE WHERE [idAvenant] = @idAvenant AND [idPDP] = @idPDP">

     

    <DeleteParameters>

     

    <asp:Parameter

     

    Name="idAvenant"

     

    Type="Int32" />

     

    <asp:Parameter

     

    Name="idPDP"

     

    Type="Int32" />

     

    </DeleteParameters>

     

    <UpdateParameters>

     

    <asp:Parameter

     

    Name="Localisation"

     

    Type="String" />

     

    <asp:Parameter

     

    Name="DateSignatureDO"

     

    Type="DateTime" />

    Type="DateTime" />

     

     

    jeudi 25 mars 2010 14:54
  • Dans la datasource SqlDataSourceDoc, les paramètres select ne sont précisés.

    Pour le moment seul idDPP existe. Il te faut ajouter les paramètres idEntreprise, NumeroPDP, DonneurOrdre ...

     

    Cordialement

    jeudi 25 mars 2010 16:01
    Modérateur
  • bonjour,

    nikho je te remercie pour ton aide, j'ai réalisé les modifications comme tu me l'a prescri, je n'arrive toujours pas, le meme message d'erreur s'affiche, a savoir

    "la variable scalaire "@identreprise" doit etre déclaré. syntaxe incorrecte vers ')'".

     

    voici la parti de code concerné :

    <

     

    asp:SqlDataSource

     

    ID="SqlDataSourceDoc"

     

    runat="server"

     

    ConnectionString="<%$ ConnectionStrings:PDP %>"

     

    SelectCommand="SELECT Avenant.Nom, AvenantPDP.IdPDP, PDP.IdEntreprise, Avenant.Description, Avenant.idAvenant FROM Avenant LEFT OUTER JOIN AvenantPDP LEFT OUTER JOIN Entreprise INNER JOIN PDP ON Entreprise.idEntreprise = PDP.idEntreprise INNER JOIN DonneurOrdreCommande INNER JOIN DonneurOrdre ON DonneurOrdreCommande.idDonneurOrdre = DonneurOrdre.idDonneurOrdre INNER JOIN Commande ON DonneurOrdreCommande.idCommande = Commande.idCommande ON PDP.idPDP = Commande.idPDP ON AvenantPDP.idPDP = PDP.idPDP ON Avenant.idAvenant = AvenantPDP.idAvenant WHERE (ISNULL(CAST(PDP.idEntreprise AS varchar), '') LIKE '%' + @idEntreprise + '%') AND (ISNULL(CAST(PDP.Numero AS varchar), '') LIKE '%' + @NumeroPDP + '%') AND (ISNULL(DonneurOrdre.Nom, '') LIKE '%' + @DonneurOrdre + '%') AND (Avenant.idAvenant NOT IN (SELECT idAvenant FROM AvenantPDP AS AP WHERE (idPDP = @idPDP)))">

     

    <SelectParameters>

     

    <asp:ControlParameter

     

    ControlID="ParamidPDP"

     

    DefaultValue="-1"

     

    Name="idPDP"

     

    PropertyName="Text" />

     

    </SelectParameters>

     

    </asp:SqlDataSource>

    peut tu m'aider s'il te plait ?

    cordialement.

    vendredi 26 mars 2010 08:30
  • Dans ton code je ne vois toujours pas les paramètres idEntreprise, NumeroPDP, DonneurOrdre dans la balise < SelectParameters > ?

    Cordialement
    vendredi 26 mars 2010 13:29
    Modérateur