1
嘿,我只是学习如何使用asp.net,我试图使用网格视图来显示信息和详细信息查看编辑/从数据库中删除信息。现在,我可以编辑和更新数据库中的信息,但我也希望它可以删除,而某些内容对我来说不起作用。我设置了一个例外,当我选择该项目并按下删除时,它弹出我的例外情况,即另一个用户删除了该项目时,该项目没有。林不知道我做错了什么,对我来说,它看起来应该工作。从SQL详细信息删除查看
这里是delete命令和参数,从细节来看
DeleteCommand="DELETE FROM [Customers]
WHERE [CustomerID] = @original_CustomerID
AND [Name] = @original_Name
AND [Address] = @original_Address
AND [City] = @original_City
AND [State] = @original_State
AND [ZipCode] = @original_ZipCode
AND ([Phone] = @original_Phone
OR [Phone] IS NULL AND @original_Phone IS NULL)
AND ([Email] = @original_Email
OR [Email] IS NULL AND @original_Email IS NULL)"
<DeleteParameters>
<asp:Parameter Name="original_CustomerID" Type="Int32" />
<asp:Parameter Name="original_Name" Type="String" />
<asp:Parameter Name="original_Address" Type="String" />
<asp:Parameter Name="original_City" Type="String" />
<asp:Parameter Name="original_State" Type="String" />
<asp:Parameter Name="original_ZipCode" Type="String" />
<asp:Parameter Name="original_Phone" Type="String" />
<asp:Parameter Name="original_Email" Type="String" />
</DeleteParameters>
代码,这里是在CS文件删除功能
protected void DetailsView1_ItemDeleted(object sender, DetailsViewDeletedEventArgs e)
{
if (e.Exception != null)
{
lblError.Text = "A database error has occurred.<br /><br />" +
"Message: " + e.Exception.Message;
e.ExceptionHandled = true;
}
else if (e.AffectedRows == 0)
lblError.Text = "Another user may have deleted that customer."
+ "<br />Please try again.";
else
GridView1.DataBind();
}
protected void DetailsView1_ItemDeleting(
object sender, DetailsViewDeleteEventArgs e)
{
e.Values["Name"]
= e.Values["Name"].ToString().Substring(1);
}
嘿谢谢你的帮助,它解决了我的问题! – Justcuz
不客气,请记住标记为回答,方法是在帮助您的答案旁边选择一个刻度符号 –