使用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>
答案 0 :(得分:0)
您是否使用SQL Server Management Studio在数据库上手动执行了DELETE FROM [tblUserLogin] WHERE [UserID] =xxx
。 tblUserLogin
可能存在导致幕后错误的约束。
请检查this是否响铃。