问题描述
两个数据表:retailer存放销售商信息,contract存放销售合同信息。后者中的retailernum字段要引用到销售商的编号当我用GridView显示销售商列表,使用内置的删除功能删除某一个被销售合同引用到的销售商信息时系统就会出现错误,提示SqlException(0x80131904):DELETE语句与REFERENCE约束"FK_contract_retailer"冲突。我不打算使用级联删除,有没有办法捕捉这个异常并在页面上向用户提示不可删除该记录呢?求教!
解决方案
解决方案二:
作删除标记,不作物理删除。可以避免这类问题。然后把物理删除的工作丢给数据库人员。
解决方案三:
试过trycatch吗?
解决方案四:
引用1楼的回复:
作删除标记,不作物理删除。可以避免这类问题。然后把物理删除的工作丢给数据库人员。
或者try或者事务
解决方案五:
try{//删除执行的代码}cathc{//Response.Write("<script>alert('不允许删除');</script>");}
解决方案六:
谢谢各位的回答有想过用trycatch,但是GridView内置的删除功能就只是在控件中放CommandName="delete"的按钮而不用在后台编程,所以我不知道该怎么处理
解决方案七:
内置的是<asp:CommandFieldHeaderText="删除"ShowDeleteButton="True"/>这种。其实查看html代码是button参考下面的http://blog.csdn.net/21aspnet/article/details/1540301或者<ItemTemplate>里面放在一个linkbutton来进行操作。<asp:LinkButtonID="Delete_lbt"runat="server"CommandName="Delete"Font-Size="11px"OnClientClick="javascript:returnconfirm('确定要删除吗?');"><imgalt="删除"style="border:0;height:13px;width:13px;"/>删除</asp:LinkButton>