日期:2014-05-17  浏览次数:20371 次

ASP.NET我写了个删除的方法,但是执行不成功,求解
页面后台代码:
  /// <summary>
  /// 批量删除数据
  /// </summary>
  /// <param name="sender"></param>
  /// <param name="e"></param>
  protected void lbtnDel_Click(object sender, EventArgs e)
  {
   
  OAUserbll userbll = new OAUserbll();
  for (int i = 0; i < rep.Items.Count; i++)
  {
  int id = Convert.ToInt32(((Label)rep.Items[i].FindControl("lb_id")).Text);
  CheckBox ck = (CheckBox)rep.Items[i].FindControl("cb_id");
  if (ck.Checked)
  {
  userbll.delete(id);
  }
  RepBind();
  }  
  }

public bool delete(int id)
  {
  try
  {
  StringBuilder bu = new StringBuilder();
  bu.Append("delete from OAUser ");
  bu.Append(" where id=@id ");
  SqlParameter[] para = {
  new SqlParameter("@id",SqlDbType.Int, 5) 
  };
  para[0].Value = id;
  int res = DbHelperSQL.ExecuteSql(bu.ToString(),para);
  if (res>0)
  {
  return true;
  }
  else
  {
  return false;
  }
  }
  catch (Exception ex)
  {  
  throw new Exception(ex.ToString());
  }
  }

------解决方案--------------------
看着没错啊,提示什么??? 如果什么没提示,你断点调试下!!!
------解决方案--------------------
是不是没有commit...
------解决方案--------------------
把ID作为string型传进去试试
------解决方案--------------------
调试下,有没有执行到删除方法
------解决方案--------------------

太长了,lz断点吧
------解决方案--------------------
你参数都穿进去了?
你Sql语句没问题?
------解决方案--------------------
有没有那条数据,提取你的sql到外面按条件执行,然后没错的话断点看执行if (res>0)
{
return true;
}
else
{
return false;
}
}
catch (Exception ex)
{
throw new Exception(ex.ToString());
}
进入了那里
------解决方案--------------------
rows=多少?
------解决方案--------------------
res沒有取到值