批量删除数据
在我们做项目的时候都是从简单的学起,查询数据、新增数据、修改数据、删除数据这些都是最基本的简单的操作。删除数据有单条数据的删除、有多条数据的删除,然而它们的写法差不多都是一样的。
下面的是删除多条数据的写法:
视图代码为:
//获取选中行
var checkStatus =
layuiTable.checkStatus(‘TabEmployee’);
获取当前表格table的行数据 TabEmployee 表格的ID
判断当前获取行的数据是否大于0,大于0就是获取到了,小于0就是没有获取到。没有获取到就给用户一个提示让他选择需要删除的数据,获取到的数据在进行操作的时候也要给用户一个提示,提示是否要删除数据,给提示是防止用户操作失误、不小心点击删除事件。
Post请求删除的数据,post里面的双引号是控制器那边删除的方法路径
EmployeeID 传到控制器的ID
控制器的代码为:
public ActionResult delStuInfos(string EmployeeID)
delStuInfos 方法在视图post请求里面使用Main区域名称 EmployeeID 视图传过来的ID
{
string strMsg = "faild";
int countSuccessDel = 0;//记录删除成功的数据条数
int countFailedDel = 0;//记录删除失败的数据条数
//判断参数是否为null或者为空
if (!string.IsNullOrEmpty(EmployeeID))
{
//对拼接号的id进行分割
string[] employeeIds = EmployeeID.Split(';');
//遍历所有的ID
foreach (string EmployeeId in employeeIds) {
try
{
//转化数据类型
int employeeID = Convert.ToInt32(EmployeeId);
//删除员工表信息
PW_Employee dbEmployee = (from tbEmployee in myModels.PW_Employee
where
tbEmployee.EmployeeID == employeeID
select tbEmployee).Single();
where 根据这张表的ID查询出需要删除的数据
myModels.PW_Employee.Remove(dbEmployee); Remove 移除 PW_Employee这张表查询出来的数据
//获取删除的员工的UserID
int? UserId =
dbEmployee.UserID;
//删除用户角色明细表
PW_UserRoleDetail dbUserRoleDetail =
(from tbUserRoleDetail in
myModels.PW_UserRoleDetail
where tbUserRoleDetail.UserID == UserId
select
tbUserRoleDetail).Single();
myModels.PW_UserRoleDetail.Remove(dbUserRoleDetail);
连表的删除所以要把子表的数据删除,再删除主表的数据。 根据需要你也可以只删除主表的数据
//保存数据库
myModels.SaveChanges();
countSuccessDel++;
}
catch (Exception e)
{
Console.Write(e);
//数据异常时记录删除失败数据条数
countFailedDel++;
}
}
strMsg
= “总共需要删除” +
employeeIds.Length + “条员工信息!其中成功删除” + countSuccessDel +
“条,失败” + countFailedDel + “条。”;
删除完成了需要给用户一个提示,要让用户知道数据是否删除成功,如果成功提示删除了几条,删除失败了几条
}
else
{
strMsg = "参数异常";
}
return Json(strMsg, JsonRequestBehavior.AllowGet);
}