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 :

Paramètre d'un SqlDataSource ignoré


Sujet :

ASP.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Juillet 2010
    Messages
    292
    Détails du profil
    Informations personnelles :
    Âge : 36

    Informations forums :
    Inscription : Juillet 2010
    Messages : 292
    Par défaut Paramètre d'un SqlDataSource ignoré
    Bonjour à tous,

    J'ai un petit problème suivant l'update d'une ligne dans une Grid : un paramètre est complètement ignoré (type Double). Voici le code pour vous égayer :

    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
     
        <asp:SqlDataSource ID="dsDirectCosts" runat="server" ConnectionString="<%$ ConnectionStrings:MISSqlConnectionString %>"
            SelectCommand="SELECT * FROM [DirectCosts] ORDER BY id DESC" DeleteCommand="DELETE FROM [DirectCosts] WHERE [id] = @id"
            UpdateCommand="UPDATE [DirectCosts] SET [categoryName] = @categoryname, [amount] = @amount, [InvoiceNo] = @invoiceno, [Remarque] = @remarque, [invoicemonth] = @invoicemonth, [invoiceyear] = @invoiceyear WHERE [id] = @id">
            <DeleteParameters>
                <asp:Parameter DbType="Int32" Name="id" />
            </DeleteParameters>
            <UpdateParameters>
                <asp:Parameter DbType="String" Name="categoryname" />
                <asp:Parameter DbType="Double" Name="amount" />
                <asp:Parameter DbType="String" Name="invoiceno" />
                <asp:Parameter DbType="String" Name="remarque" />
                <asp:Parameter DbType="Int32" Name="invoicemonth" />
                <asp:Parameter DbType="Int32" Name="invoiceyear" />
                <asp:Parameter DbType="Int32" Name="id" />
            </UpdateParameters>
        </asp:SqlDataSource>
    Et voici le Control dans lequel la valeur peut être changée :

    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
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
                    <EditFormSettings EditFormType="Template">
                        <FormTemplate>
                            <table>
                                <tr>
                                    <td>
                                        Category name :
                                    </td>
                                    <td>
                                        <telerik:RadComboBox ID="ddlCategories2" runat="server" DataSourceID="dsDirectCostCategories"
                                            DataTextField="name" DataValueField="guid" Text="<%# Bind('categoryName') %>">
                                            <CollapseAnimation Duration="200" Type="OutQuint" />
                                        </telerik:RadComboBox>
                                    </td>
                                </tr>
                                <tr>
                                    <td>
                                        Amount :
                                    </td>
                                    <td>
                                        <telerik:RadTextBox ID="txtbAmount2" runat="server" AutoCompleteType="None" Text="<%# Bind('amount') %>"
                                            Width="155">
                                        </telerik:RadTextBox>
                                    </td>
                                </tr>
                                <tr>
                                    <td>
                                        Invoice number :
                                    </td>
                                    <td>
                                        <telerik:RadTextBox ID="txtbInvoiceNumber2" runat="server" AutoCompleteType="None"
                                            Text="<%# Bind('InvoiceNo') %>" Width="155">
                                        </telerik:RadTextBox>
                                        <asp:RequiredFieldValidator ID="RFVInvoiceNumber2" runat="server" ControlToValidate="txtbInvoiceNumber2"
                                            Display="Dynamic" ErrorMessage="Invoice number not entered" SetFocusOnError="True"></asp:RequiredFieldValidator>
                                    </td>
                                </tr>
                                <tr>
                                    <td>
                                        Information :
                                    </td>
                                    <td>
                                        <telerik:RadTextBox ID="txtbInformation2" runat="server" AutoCompleteType="None"
                                            Text="<%# Bind('Remarque') %>" Width="155">
                                        </telerik:RadTextBox>
                                    </td>
                                </tr>
                                <tr>
                                    <td>
                                        Invoice month :
                                    </td>
                                    <td>
                                        <telerik:RadTextBox ID="txtbInvoiceMonth2" runat="server" AutoCompleteType="None"
                                            Text="<%# Bind('invoicemonth') %>" Width="155">
                                        </telerik:RadTextBox>
                                    </td>
                                </tr>
                                <tr>
                                    <td>
                                        Invoice year :
                                    </td>
                                    <td>
                                        <telerik:RadTextBox ID="txtbInvoiceYear2" runat="server" AutoCompleteType="None"
                                            Text="<%# Bind('invoiceyear') %>" Width="155">
                                        </telerik:RadTextBox>
                                    </td>
                                </tr>
                                <tr>
                                    <td>
                                        <telerik:RadButton ID="btnUpdate" runat="server" CommandName="Update" OnClientClicking="CheckDuplicateNumber"
                                            Text="Update">
                                        </telerik:RadButton>
                                        <telerik:RadButton ID="btnCancel" runat="server" CausesValidation="false" CommandName="Cancel"
                                            Text="Cancel">
                                        </telerik:RadButton>
                                    </td>
                                </tr>
                            </table>
                        </FormTemplate>
                    </EditFormSettings>
    Comme vous le voyez, j'utilise un template personnalisé pour la modification d'une ligne. Peut-être que le type Double pose problème... (le field est de type Float dans la table).

    Merci d'avance de votre aide.

  2. #2
    Membre éclairé
    Inscrit en
    Juillet 2010
    Messages
    292
    Détails du profil
    Informations personnelles :
    Âge : 36

    Informations forums :
    Inscription : Juillet 2010
    Messages : 292
    Par défaut
    J'ai remarqué une autre chose : peu importe la valeur qu'on donne au TextBox, le paramètre obtient la valeur d'origine au moment de l'update et pas la nouvelle.
    Quelqu'un aurait-il une idée ?

Discussions similaires

  1. Réponses: 5
    Dernier message: 17/11/2014, 07h51
  2. Réponses: 5
    Dernier message: 19/09/2011, 22h01
  3. SqlDataSource et paramètres
    Par yass dans le forum C#
    Réponses: 8
    Dernier message: 05/07/2007, 14h16
  4. [Requête_VBA_Access] Paramètre ignoré dans une requête
    Par Tari_calaelen dans le forum VBA Access
    Réponses: 6
    Dernier message: 03/07/2007, 16h06
  5. Réponses: 2
    Dernier message: 15/06/2007, 13h50

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