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 :

Gridview avec procedure stocké pour update


Sujet :

ASP.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 9
    Par défaut Gridview avec procedure stocké pour update
    Bonjour,

    C'est la première fois que je viens sur ce forum car j'ai un petit soucis avec mon(ma) Gridview.

    Il m'est impossible de faire la mise à jour d'une ligne :
    A la validation de la ligne, il m'affiche une page d'erreur comme quoi il y a trop de paramètres.
    Je supprime tout les paramètre dans la page ASPX
    Je refait l'opération il me dit qu'il attend le paramètre : "nom du paramètre"
    Je lui ajoute uniquement se paramètre la je relance et la re la demande d'un paramètre je lui met.
    Et la il me dit qu'il y a re trop de paramètres alors qu'il viens de me demandé le paramètre que je viens de lui rajouter ...
    Si quelqu'un a une idée à se problème...

  2. #2
    Membre chevronné
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    360
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 360
    Par défaut
    peux tu poster ton code stp

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 9
    Par défaut
    partie ASPX
    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
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    <asp:GridView ID="GV_liste_commande" runat="server" AllowPaging="True" 
                            AutoGenerateColumns="False" DataSourceID="DS_liste_commande" 
                            EmptyDataText="Aucune commande" OnRowCommand="MaJ_GV_Liste_Commande" 
                            CellPadding="4" ForeColor="#333333" GridLines="None" PageSize="5">
                            <RowStyle BackColor="#FFFBD6" ForeColor="#333333" />
                            <Columns>
                                <asp:CommandField ShowDeleteButton="True" ShowEditButton="True" 
                                    ButtonType="Image" CancelImageUrl="~/img/reset.png" 
                                    DeleteImageUrl="~/img/delete.png" EditImageUrl="~/img/edit.png" 
                                    UpdateImageUrl="~/img/ok.png" />
                                <asp:BoundField DataField="CMD_libelle" HeaderText="Libellé" 
                                    SortExpression="CMD_libelle" />
                                <asp:BoundField DataField="CMD_montant" HeaderText="Montant" 
                                    SortExpression="CMD_montant" />
                                <asp:TemplateField HeaderText="Date commande" 
                                    SortExpression="CMD_date_commande">
                                    <EditItemTemplate>
                                        <asp:TextBox ID="TextBox1" runat="server" 
                                            Text='<%# Bind("CMD_date_commande", "{0:d}") %>'></asp:TextBox>
                                    </EditItemTemplate>
                                    <ItemTemplate>
                                        <asp:Label ID="Label1" runat="server" Text='<%# Bind("CMD_date_commande", "{0:d}") %>'></asp:Label>
                                    </ItemTemplate>
                                </asp:TemplateField>
                                <asp:TemplateField HeaderText="Date prévue" SortExpression="CMD_date_prevue">
                                    <EditItemTemplate>
                                        <asp:TextBox ID="TextBox2" runat="server" Text='<%# Bind("CMD_date_prevue", "{0:d}") %>'></asp:TextBox>
                                    </EditItemTemplate>
                                    <ItemTemplate>
                                        <asp:Label ID="Label2" runat="server" Text='<%# Bind("CMD_date_prevue", "{0:d}") %>'></asp:Label>
                                    </ItemTemplate>
                                </asp:TemplateField>
                                <asp:CheckBoxField DataField="CMD_receptionne" HeaderText="Receptionné" 
                                    SortExpression="CMD_receptionne" />
                            </Columns>
                            <FooterStyle BackColor="#990000" Font-Bold="True" ForeColor="White" />
                            <PagerStyle BackColor="#FFCC66" ForeColor="#333333" HorizontalAlign="Center" />
                            <SelectedRowStyle BackColor="#FFCC66" Font-Bold="True" ForeColor="Navy" />
                            <HeaderStyle BackColor="#990000" Font-Bold="True" ForeColor="White" />
                            <AlternatingRowStyle BackColor="White" />
                        </asp:GridView>
                        <asp:SqlDataSource ID="DS_liste_commande" runat="server" 
                            ConnectionString="<%$ ConnectionStrings:GESTION_AFFAIREConnectionString %>" 
                            DeleteCommand="commande_supression" DeleteCommandType="StoredProcedure" 
                            SelectCommand="commande_liste_par_affaire" SelectCommandType="StoredProcedure" 
                            UpdateCommand="commande_mise_a_jour" UpdateCommandType="StoredProcedure">
                            <SelectParameters>
                                <asp:ControlParameter ControlID="LB_num_affaire" Name="num_affaire" 
                                    PropertyName="Text" Type="String" />
                                <asp:ControlParameter ControlID="LB_num_avenant" Name="num_avenant" 
                                    PropertyName="Text" Type="Int32" />
                            </SelectParameters>
                            <DeleteParameters>
                                <asp:Parameter Name="id" Type="Int32" />
                            </DeleteParameters>
                            <UpdateParameters>
                                <asp:Parameter Name="lib" Type="String" />
                                <asp:Parameter Name="montant" Type="Double" />
                                <asp:Parameter Name="date_cmd" Type="DateTime" />
                                <asp:Parameter Name="date_prevue" Type="DateTime" />
                                <asp:Parameter Name="est_receptionne" Type="Boolean" />
                                <asp:Parameter Name="d" Type="Int32" />
                            </UpdateParameters>
                        </asp:SqlDataSource>

    partie SQL
    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
    USE [GESTION_AFFAIRE]
    GO
    /****** Object:  StoredProcedure [dbo].[commande_mise_a_jour]    Script Date: 10/21/2010 11:28:04 ******/
    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    ALTER PROCEDURE [dbo].[commande_mise_a_jour]
     
    	@lib varchar(max),
    	@montant float,
    	@date_cmd Date,
        @date_prevue Date,
        @est_receptionne bit,
        @id integer
     
    AS
    BEGIN 
    	UPDATE COMMANDE SET 
    		CMD_libelle=@lib, 
    		CMD_montant=@montant, 
    		CMD_date_commande=@date_cmd, 
    		CMD_date_prevue=@date_prevue,
    		CMD_receptionne=@est_receptionne 
    	WHERE CMD_id= @id
    END

  4. #4
    Membre confirmé
    Profil pro
    Développeur Web
    Inscrit en
    Septembre 2007
    Messages
    173
    Détails du profil
    Informations personnelles :
    Localisation : France, Aube (Champagne Ardenne)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Septembre 2007
    Messages : 173
    Par défaut
    Bonjour,

    Tu a du faire une erreur de frappe car il n'y a pas de parametre "d" dans ta proc.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <asp:Parameter Name="d" Type="Int32" />
    Ca devrait fonctionner comme cela

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <asp:Parameter Name="id" Type="Int32" />
    @+

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 9
    Par défaut
    Désolé je n'ai pas remis mon code à jour, j'ai enlevé le i de id pour voir si il allez me réclamer mon paramètre mais non, il me dit toujours qu'il y a trop d'arguments...

    Donc si quelqu'un a une autre idée

    Merci quand même

    Pensez vous que cela puisse venir du paramètre montant,avec la virgule du décimal il "ajoute" un paramètre supplémentaire ?

  6. #6
    Membre chevronné
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    360
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 360
    Par défaut
    c'est possible que la virgule pose problème ... essai sans mettre de virgule dans le montant ou en mettant un point, ca permettra d'isoler le pb.

Discussions similaires

  1. Parametre output avec procedure stocké
    Par el_quincho dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 09/11/2006, 20h46
  2. [VB.NET] remplir dataset avec procedure stockée
    Par HULK dans le forum Windows Forms
    Réponses: 7
    Dernier message: 18/07/2006, 12h05
  3. procedure stocké pour avoir les droits utilisateur
    Par Babylonne dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 27/06/2006, 14h09
  4. Boucle avec procedure stocké
    Par badrel dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 15/06/2006, 08h42
  5. Réponses: 2
    Dernier message: 20/04/2006, 14h33

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