.net 存储过程删除

public bool DeleteDelivery(string TableName, string ID)
{
SqlConnection conn = new SqlConnection(connStr);
try
{
if (conn.State != ConnectionState.Open)
{
conn.Open();
}
SqlParameter[] ps =
{
new SqlParameter("@TableName",TableName),
new SqlParameter("@ID",ID)
};
SqlCommand cmd = new SqlCommand("proc_Delete", conn);
cmd.CommandType = CommandType.StoredProcedure;
if (ps != null)
{
foreach (SqlParameter item in ps)
{
cmd.Parameters.Add(item);
}
}
cmd.ExecuteNonQuery();
return true;
}
catch (Exception)
{
throw;
}
finally
{
if (conn.State != ConnectionState.Closed)
{
conn.Close();
}
}

}

数据库存储过程删除

create procedure proc_Delete
@TableName varchar(50),
@ID varchar(5000)
as
begin
declare @strSql varchar(5000)
declare @sql varchar(4000)
set @sql='select col='''+ replace(@ID,',',''' union all select ''')+''''

if OBJECT_ID('tempdb..#DelID') is not null
drop table #DelID
create table #DelID(ID VARCHAR(36))

insert into #DelID exec(@sql)

set @strSql = 'delete from '+@TableName+' where ID in ( select ID from #DelID)'

exec(@strSql)
end

拿过来直接用就好了  主要就是在控制器执行  需要将Table表名改成自己的表 才能进行删除

猜你喜欢

转载自www.cnblogs.com/88662lck/p/10042746.html