2012-02-21 56 views
0

我正在開發一個內聯網基於Web的應用程序,它有一個管理其用戶的部分。我正在嘗試使用ListView控件開發這部分。除了更新員工的信息外,一切正常。在解釋這個問題,讓我給你解釋數據庫設計: Employee表:用戶名,姓名,DivisionCode 司表:DivisionCode,司 (每個表中的第一個屬性是主鍵)更新此ListView中的用戶信息有什麼問題?

我有一個更新員工部門的問題,當我嘗試去做時,出現以下錯誤: 無效的列名'用戶名'。

我的ASP.NET代碼:

<asp:ListView ID="ListView1" runat="server" DataKeyNames="Username" 
       DataSourceID="SqlDataSource1"> 

       <EditItemTemplate> 
        <tr style=""> 
         <td> 
          <asp:Button ID="UpdateButton" runat="server" CommandName="Update" 
           Text="Update" /> 
          <asp:Button ID="CancelButton" runat="server" CommandName="Cancel" 
           Text="Cancel" /> 
         </td> 
         <td> 
          <asp:TextBox ID="NameTextBox" runat="server" Text='<%# Bind("Name") %>' /> 
         </td> 
         <td> 
          <asp:Label ID="UsernameLabel1" runat="server" Text='<%# Eval("Username") %>' /> 
         </td> 
         <td> 
          <asp:TextBox ID="JobTitleTextBox" runat="server" 
           Text='<%# Bind("JobTitle") %>' /> 
         </td> 
         <td> 
          <asp:TextBox ID="BadgeNoTextBox" runat="server" Text='<%# Bind("BadgeNo") %>' /> 
         </td> 
         <td> 
          <asp:TextBox ID="DivisionShortcutTextBox" runat="server" 
           Text='<%# Bind("DivisionShortcut") %>' /> 
         </td> 
        </tr> 
       </EditItemTemplate> 
       <EmptyDataTemplate> 
        <table runat="server" style=""> 
         <tr> 
          <td> 
           No data was returned.</td> 
         </tr> 
        </table> 
       </EmptyDataTemplate> 
       <InsertItemTemplate> 
        <tr style=""> 
         <td> 
          <asp:Button ID="InsertButton" runat="server" CommandName="Insert" 
           Text="Insert" /> 
          <asp:Button ID="CancelButton" runat="server" CommandName="Cancel" 
           Text="Clear" /> 
         </td> 
         <td> 
          <asp:TextBox ID="NameTextBox" runat="server" Text='<%# Bind("Name") %>' /> 
         </td> 
         <td> 
          <asp:TextBox ID="UsernameTextBox" runat="server" 
           Text='<%# Bind("Username") %>' /> 
         </td> 
         <td> 
          <asp:TextBox ID="JobTitleTextBox" runat="server" 
           Text='<%# Bind("JobTitle") %>' /> 
         </td> 
         <td> 
          <asp:TextBox ID="BadgeNoTextBox" runat="server" Text='<%# Bind("BadgeNo") %>' /> 
         </td> 
         <td> 
          <asp:TextBox ID="DivisionShortcutTextBox" runat="server" 
           Text='<%# Bind("DivisionShortcut") %>' /> 
         </td> 
        </tr> 
       </InsertItemTemplate> 
       <ItemTemplate> 
        <tr style=""> 
         <td> 
          <asp:ImageButton ID="DeleteButton" ImageUrl="images/delete.png" Width="20px" runat="server" CommandName="Delete" /> 
          <%--<asp:Button ID="DeleteButton" runat="server" CommandName="Delete" 
          Text="Delete" />--%> 
          <asp:ImageButton ID="EditButton" ImageUrl="images/edit.png" Width="20px" runat="server" CommandName="Edit" /> 
          <%--<asp:Button ID="EditButton" runat="server" CommandName="Edit" Text="Edit" />--%> 
          <asp:ImageButton ID="SelectButton" ImageUrl="images/select.png" Width="20px" runat="server" CommandName="Select" /> 
          <%--<asp:Button ID="SelectButton" runat="server" CommandName="Select" Text="Select" />--%> 
         </td> 
         <td> 
          <asp:Label ID="NameLabel" runat="server" Text='<%# Eval("Name") %>' /> 
         </td> 
         <td> 
          <asp:Label ID="UsernameLabel" runat="server" Text='<%# Eval("Username") %>' /> 
         </td> 
         <td> 
          <asp:Label ID="JobTitleLabel" runat="server" Text='<%# Eval("JobTitle") %>' /> 
         </td> 
         <td> 
          <asp:Label ID="BadgeNoLabel" runat="server" Text='<%# Eval("BadgeNo") %>' /> 
         </td> 
         <td> 
          <asp:Label ID="DivisionShortcutLabel" runat="server" 
           Text='<%# Eval("DivisionShortcut") %>' /> 
         </td> 
        </tr> 
       </ItemTemplate> 
       <LayoutTemplate> 
           <table ID="itemPlaceholderContainer" runat="server" border="0" style=""> 
            <tr runat="server" style=""> 
             <th runat="server"> 
              Name</th> 
             <th runat="server"> 
              Username</th> 
             <th runat="server"> 
              JobTitle</th> 
             <th runat="server"> 
              BadgeNo</th> 
             <th runat="server"> 
              Division</th> 
            </tr> 
            <tr ID="itemPlaceholder" runat="server"> 
            </tr> 
           </table> 
         <tr runat="server"> 
          <td runat="server" style=""> 
           <asp:DataPager ID="DataPager1" runat="server"> 
            <Fields> 
             <asp:NextPreviousPagerField ButtonType="Button" ShowFirstPageButton="True" 
              ShowLastPageButton="True" /> 
            </Fields> 
           </asp:DataPager> 
          </td> 
         </tr> 
        </table> 
       </LayoutTemplate> 
       <SelectedItemTemplate> 
        <tr style=""> 
         <td> 
          <asp:ImageButton ID="DeleteButton" ImageUrl="images/delete.png" Width="20px" runat="server" CommandName="Delete" /> 
          <%--<asp:Button ID="DeleteButton" runat="server" CommandName="Delete" 
           Text="Delete" />--%> 
          <asp:ImageButton ID="EditButton" ImageUrl="images/edit.png" Width="20px" runat="server" CommandName="Edit" /> 
          <%--<asp:Button ID="EditButton" runat="server" CommandName="Edit" Text="Edit" />--%> 
         </td> 
         <td> 
          <asp:Label ID="NameLabel" runat="server" Text='<%# Eval("Name") %>' /> 
         </td> 
         <td> 
          <asp:Label ID="UsernameLabel" runat="server" Text='<%# Eval("Username") %>' /> 
         </td> 
         <td> 
          <asp:Label ID="JobTitleLabel" runat="server" Text='<%# Eval("JobTitle") %>' /> 
         </td> 
         <td> 
          <asp:Label ID="BadgeNoLabel" runat="server" Text='<%# Eval("BadgeNo") %>' /> 
         </td> 
         <td> 
          <asp:Label ID="DivisionShortcutLabel" runat="server" 
           Text='<%# Eval("DivisionShortcut") %>' /> 
         </td> 
        </tr> 
       </SelectedItemTemplate> 
      </asp:ListView> 
      <br /> 
      <asp:SqlDataSource ID="SqlDataSource1" runat="server" 
       ConnectionString="<%$ ConnectionStrings:testConnectionString %>" 
       SelectCommand="SELECT  dbo.employee.Name, dbo.employee.Username, dbo.employee.JobTitle, dbo.employee.BadgeNo, dbo.Divisions.DivisionShortcut 
FROM   dbo.Divisions INNER JOIN 
         dbo.employee ON dbo.Divisions.SapCode = dbo.employee.DivisionCode" 

       DeleteCommand="DELETE FROM [Employee] WHERE [Username] = @Username" 

       UpdateCommand="UPDATE [Divisions] SET [DivisionShortcut] = @DivisionShortcut WHERE [Username] = @Username"> 
       <DeleteParameters> 
        <asp:Parameter Name="Username" Type="String" /> 
       </DeleteParameters> 
       <UpdateParameters> 
        <asp:Parameter Name="DivisionShortcut" Type="String" /> 
       </UpdateParameters> 
      </asp:SqlDataSource> 

如何解決這個問題?

回答

0

你可能沒有宣佈UpdateParameters用戶名參數

+0

能否請您給我提供正確的答案? – 2012-02-21 09:27:41

+0

我已經申報,但沒有任何更改 – 2012-02-21 09:32:23

+0

updateParameters我只能看到divisionshortcut沒有用戶名 – Prabhavith 2012-02-21 09:46:33