代码之家  ›  专栏  ›  技术社区  ›  Jeff

ASP.NET FormView更新失败

  •  1
  • Jeff  · 技术社区  · 15 年前

             <asp:FormView ID="formView" DataSourceID="Reg" runat="server" DataKeyNames="RegID" AllowPaging="true">
    
            <ItemTemplate>
                <h3 style="font-size:14px;"><%#Eval("Org") %></h3>
                <table border="0">
                    <tr class="RowHighlight">
                        <td>Name:</td><td><%#Eval("Name") %></td>
                    </tr>
                    <tr>
                        <td>Phone Number:</td><td><%#Eval("PhoneNumber") %></td>
                    </tr>
                    <tr class="RowHighlight">
                        <td>Email Address:</td><td><%#Eval("EmailAddress")%></td>
                    </tr>
                    <tr>
                        <td>Address:</td><td><%#Eval("Address") %></td>
                    </tr>
                    <tr class="RowHighlight">
                        <td>Purchase Date:</td><td><%#Eval("MonthOfPurchase") + " " + Eval("YearOfPurchase")%></td>
                    </tr>
                    <tr>
                        <td>Notes:</td><td><%#Eval("Notes") %></td>
                    </tr>
                    <tr>
                        <td><asp:LinkButton ID="btnEdit" Text="Edit Details" runat="server" CommandName="Edit" /></td>
                    </tr>
                </table>
            </ItemTemplate>
    
            <EditItemTemplate>
                <h3 style="font-size:14px;"><%#Eval("Org") %></h3>
                <table border="0">
                    <tr>
                        <td>ID</td><td><%#Eval("RegID")%></td>
                    </tr>
                    <tr class="RowHighlight">
                        <td>Name:</td><td><asp:TextBox ID="txtName" runat="server" Width="100%" Text='<%# Bind("Name") %>' /></td>
                    </tr>
                    <tr>
                        <td>Phone Number:</td><td><asp:TextBox ID="txtPhoneNumber" runat="server" Width="100%" Text='<%# Bind("PhoneNumber") %>' /></td>
                    </tr>
                    <tr class="RowHighlight">
                        <td>Email Address:</td><td><asp:TextBox ID="txtEmailAddress" runat="server" Width="100%" Text='<%# Bind("EmailAddress") %>' /></td>
                    </tr>
                    <tr>
                        <td>Address:</td><td><asp:TextBox ID="txtAddress" runat="server" Width="100%" Text='<%# Bind("Address") %>' /></td>
                    </tr>
                    <tr class="RowHighlight">
                        <td>Month Of Purchase:</td><td><asp:TextBox ID="txtMonthOfPurchase" runat="server" Width="100%" Text='<%# Bind("MonthOfPurchase") %>' /></td>
                    </tr>
                    <tr>
                        <td>Year Of Purchase:</td><td><asp:TextBox ID="txtYearOfPurchase" runat="server" Width="100%" Text='<%# Bind("YearOfPurchase") %>' /></td>
                    </tr>
                    <tr class="RowHighlight">
                        <td>Notes:</td><td><%#Eval("Notes") %></td>
                    </tr>
                    <tr>
                        <td><asp:LinkButton ID="btnSave" Text="Save Changes" runat="server" CausesValidation="true" CommandName="Update" /></td>
                        <td><asp:LinkButton ID="btnCancel" Text="Cancel" runat="server" CommandName="Cancel" /></td>
                    </tr>
                </table>
            </EditItemTemplate>
    
            </asp:FormView>
    
            <asp:SqlDataSource ProviderName="System.Data.Odbc" ID="Reg" runat="server"
                ConnectionString="DRIVER={MySQL ODBC 3.51 Driver}; SERVER=<SERVER_NAME>; PORT=3306; DATABASE=<DATABASE> UID=<USERID>; PWD=<PASSWORD>; OPTION=3;"
    
                SelectCommand="SELECT * FROM tblRegsitration 
                WHERE EmailSent=0 ORDER BY Org"
    
                UpdateCommand="UPDATE tblRegsitration SET Name=@Name, 
                PhoneNumber=@PhoneNumber, 
                EmailAddress=@EmailAddress,
                Address=@Address, 
                MonthOfPurchase=@MonthOfPurchase, 
                YearOfPurchase=@YearOfPurchase 
                WHERE (RegID=@RegID)" />
    
    1 回复  |  直到 15 年前
        1
  •  1
  •   rick schott    15 年前

    你什么都没有 parameters 定义。

    例子:

    <asp:sqlDataSource ID="EmployeeDetailsSqlDataSource" 
      SelectCommand="SELECT EmployeeID, LastName, FirstName FROM Employees WHERE EmployeeID = @EmpID"
    
      InsertCommand="INSERT INTO Employees(LastName, FirstName) VALUES (@LastName, @FirstName); 
                     SELECT @EmpID = SCOPE_IDENTITY()"
      UpdateCommand="UPDATE Employees SET LastName=@LastName, FirstName=@FirstName 
                       WHERE EmployeeID=@EmployeeID"
      DeleteCommand="DELETE Employees WHERE EmployeeID=@EmployeeID"
    
      ConnectionString="<%$ ConnectionStrings:NorthwindConnection %>"
      OnInserted="EmployeeDetailsSqlDataSource_OnInserted"
      RunAt="server">
    
      <SelectParameters>
        <asp:Parameter Name="EmpID" Type="Int32" DefaultValue="0" />
      </SelectParameters>
    
      <InsertParameters>
        <asp:Parameter Name="EmpID" Direction="Output" Type="Int32" DefaultValue="0" />
      </InsertParameters>
    
    </asp:sqlDataSource>
    
    推荐文章