ASP.NAT MVC删除数据库信息的方法
开发工具与关键技术:MVC 作者:邹贺汗 撰写时间:2019.4.23
在新增、删除、查询、修改、这四种里面最为简单的应该是删除了吧,但是删除一条数据也不是那么简单的,因为要删除一条数据有可能牵连到很多条其他的数据,如果删除了这一条数据的话那么它所牵连的数据有可能会变成一些没有用的数据,所以删除数据的难点就在于逻辑的转换和运用。
删除一条数据的逻辑最主要的就是删除的时候不要有过多的残留数据,而删除逻辑判断就是判断这条数据是否有和其他数据关联,如果有就要把有关的数据先删除再这条数据。
用大学学院举例,这里使用layer插件,页面代码如下:
function doDelete(AcademeID) {
layer.confirm('您是否要删除该学院信息?',
{ icon: 3, title: '提示' },
function (index) {
layer.close(index);
//发送删除请求
$.post("填写路径",
{ AcademeID: AcademeID },
function (data) {
if (data.State) {
//刷新表格
tabAcademe.reload();
}
layer.alert(data.Text);
}, 'json');
});
}
控制器的代码如下:
public ActionResult DeleteAcademe(int AcademeID)
{
ReturnJsonVo returnJson = new ReturnJsonVo();
returnJson.State = false;
try{
//检查专业 int intSpecialtyRow = (from tbSpecialty in myModel.SYS_Specialty
where tbSpecialty.AcademeID == AcademeID
select tbSpecialty).Count();
if (intSpecialtyRow > 0) {
returnJson.State = false;
returnJson.Text = "有专业对应,不能删除,请先删除对应的专业!";
return Json(returnJson, JsonRequestBehavior.AllowGet); }
//删除学院信息SYS_Academe sysAcademe = (from tbAcademe in myModel.SYS_Academe
where tbAcademe.AcademeID == AcademeID
select tbAcademe).Single();
// Linq 删除myModel.SYS_Academe.Remove(sysAcademe);
int intR = myModel.SaveChanges();
if (intR > 0) { returnJson.State = true; returnJson.Text = "删除成功"; }
else{ returnJson.Text = "删除失败";}
}catch (Exception e) {
returnJson.Text = "参数异常";
Console.WriteLine(e);
} return Json(returnJson, JsonRequestBehavior.AllowGet); }
效果如图: