删除列错误

时间:2015-06-14 16:31:25

标签: c# asp.net

使用4.5和C#构建ASP网站。我使用gridview显示我的数据库记录,并启用了更新/删除按钮。除删除按钮外,一切正常。我收到以下错误:

必需参数中缺少一个或多个值。

我看到删除命令的唯一参数是UserID,我不确定我错过了什么。

有人有什么想法吗? 感谢。

<asp:GridView ID="grdUsers" runat="server" AutoGenerateColumns="False" DataSourceID="SqlDataSource1">
        <Columns>
            <asp:BoundField DataField="UserID" HeaderText="UserID" InsertVisible="False" SortExpression="UserID" />
            <asp:BoundField DataField="UserName" HeaderText="UserName" SortExpression="UserName" />
            <asp:BoundField DataField="UserPassword" HeaderText="UserPassword" SortExpression="UserPassword" />
            <asp:BoundField DataField="SecurityLevel" HeaderText="SecurityLevel" SortExpression="SecurityLevel" />
            <asp:CommandField ShowEditButton="True" />
            <asp:CommandField ShowDeleteButton="True" />
        </Columns>
    </asp:GridView>
    <asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:ConnectionString %>" ProviderName="<%$ ConnectionStrings:ConnectionString.ProviderName %>" 
        SelectCommand="SELECT * FROM [tblUserLogin]" OnSelecting="SqlDataSource1_Selecting"
        DeleteCommand="DELETE FROM [tblUserLogin] WHERE [UserID] = ?"
        UpdateCommand="UPDATE [tblUserLogin] SET [UserName] = ?, [UserPassword] = ?, [SecurityLevel] = ? WHERE [UserID] = ?">
        <DeleteParameters>
            <asp:Parameter Name="UserID" Type="Int32" />
        </DeleteParameters>
        <UpdateParameters>
            <asp:Parameter Name="UserName" Type="String" />
            <asp:Parameter Name="UserPassword" Type="String" />
            <asp:Parameter Name="SecurityLevel" Type="Char" />
        </UpdateParameters>
    </asp:SqlDataSource>

1 个答案:

答案 0 :(得分:0)

您是否使用SQL Server Management Studio在数据库上手动执行了DELETE FROM [tblUserLogin] WHERE [UserID] =xxxtblUserLogin可能存在导致幕后错误的约束。

请检查this是否响铃。