批量删,就把要删除的内容的id找到, delete from TB where id in (所要删除的id)
for循环难道不是“批量删除吗”,楼主把问题讲清楚点,如果想节省执行性能,可以用where id in(1,2,3)
.Net下批量删除数据的存储过程问题(用动态SQL ) SQL语句执行没问题public bool DeleteUser(string userid) { string strSQL = "delete from tb_Users where UserId in (" + userid + ")"; return dbbase.ExecuteNonQuery(false, strSQL,null); } 用存储过程执行出问题了,说无法将string类型转换为int32,问题出在存储过程上面: public static int DeleteUser(string userid ) { int ret = 0; string spName = "TY_DeleteUser"; object[] para = new object[] { userid }; ret = DataAccess.ExecuteNonQuery(spName, false, para); return ret; }错误存储过程写法:create proc TY_DeleteUser (@UserId int) as delete from tb_Users where UserId in (@UserId) 正确存储过程写法(动态SQL)create proc TY_DeleteUser(@UserId nvarchar(250)) asExec('delete from tb_Users where UserId in('+@UserId+')' )
delete from TB where id in (所要删除的id)
for循环难道不是“批量删除吗”,楼主把问题讲清楚点,如果想节省执行性能,可以用where id in(1,2,3)
.Net下批量删除数据的存储过程问题(用动态SQL ) SQL语句执行没问题public bool DeleteUser(string userid)
{
string strSQL = "delete from tb_Users where UserId in (" + userid + ")";
return dbbase.ExecuteNonQuery(false, strSQL,null); } 用存储过程执行出问题了,说无法将string类型转换为int32,问题出在存储过程上面: public static int DeleteUser(string userid )
{
int ret = 0;
string spName = "TY_DeleteUser";
object[] para = new object[] { userid };
ret = DataAccess.ExecuteNonQuery(spName, false, para);
return ret; }错误存储过程写法:create proc TY_DeleteUser
(@UserId int)
as
delete from tb_Users where UserId in (@UserId) 正确存储过程写法(动态SQL)create proc TY_DeleteUser(@UserId nvarchar(250))
asExec('delete from tb_Users where UserId in('+@UserId+')' )