public int Delete(string IdList)
{
////存储过程解决方案
try
{
SqlParameter[] parameters = {
new SqlParameter("@IdList", SqlDbType.VarChar,250)};
parameters[0].Value = IdList;
int rows = 0;
DbHelperSQL.RunProcedure("pro_Child_B_JDel", parameters,out rows);
if (rows > 0)
{
return rows;
}
else
{
return 0;
}
}
catch
{
return 0;
}
////程序解决方案
//List<String> list = new List<string>();
//list.Add("delete from CHILD_B_J where Id in(" + IdList + ")");
//list.Add("delete from CHILD_GUARDIAN where CHILD_B_Id in(" + IdList + ") and StudentType='借读生'");
//list.Add("delete from CHILD_REG_J where CHILD_B_Id in(" + IdList + ")");
//list.Add("delete from CHILD_Order where CHILD_B_Id in(" + IdList + ") and Child_B_Type='借读生'");
//object obj = DbHelperSQL.ExecuteSqlTran(list);
//if (obj == null)
//{
// return 0;
//}
//else
//{
// return Convert.ToInt32(obj);
//}
}
ALTER PROCEDURE [dbo].[pro_Child_B_JDel](
@IdList varchar(250) --主键
)
AS
declare @strSQL1 varchar(200)
declare @strSQL2 varchar(200)
declare @strSQL3 varchar(200)
declare @strSQL4 varchar(200)
BEGIN
-- Set XACT_ABORT ON;
-- Begin Tran
-- delete from CHILD_B_J where Id in(@IdList)
-- delete from CHILD_GUARDIAN where CHILD_B_Id in(@IdList) and StudentType='借读生'
-- delete from CHILD_REG_J where CHILD_B_Id in(@IdList)
--Commit Tran
set @strSQL1='delete from CHILD_B_J where Id in('+@IdList+')'
set @strSQL2='delete from CHILD_GUARDIAN where CHILD_B_Id in('+@IdList+') and StudentType='+''''+'借读生'+''''
set @strSQL3='delete from CHILD_REG_J where CHILD_B_Id in('+@IdList+')'
set @strSQL3='delete from CHILD_Order where CHILD_B_Id in('+@IdList+') and Child_B_Type='+''''+'借读生'+''''
exec( @strSQL1)
exec (@strSQL2)
exec( @strSQL3)
END