日期:2014-05-18  浏览次数:20528 次

该如何回滚?
我是个初学者,以下是我的代码:

------翻页------ 
 protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e)
  { 
  GridView1.PageIndex = e.NewPageIndex;
  delete();
  add();
  lb1.Text = tibaoje();
  float a1 = float.Parse(lb1.Text.Trim());
  float b1 = float.Parse(lb2.Text.Trim());
  if (a1 > b1)
  {
  Page.RegisterStartupScript("", "<script language='javascript'>window.alert('请重新填写!');</script>");
  }
  bind1();
  }
}

  private string tibaoje() //计算提报金额
  {

  string sqlstr5 = "select sum(amount*price) from material,tibaoxj where tibaoxj.wl_num=material.wl_num and tibaoxj.tb_num=@tb_num";

  mycmd = new SqlCommand(sqlstr5, con);
  con.Open();
  mycmd.Parameters.Add("@tb_num", SqlDbType.Char).Value = (string)Session["tb_num"];
  string tbcash = mycmd.ExecuteScalar().ToString();
  con.Close();
  return tbcash;

  }

-------增加记录操作-------
private void add()
  {
  int n = GridView1.Rows.Count;
  for (int i = 0; i < n; i++)
  {
  if (((TextBox)(GridView1.Rows[i].Cells[4].FindControl("tb1"))).Text != "")
  {
  key = GridView1.DataKeys[i].Value.ToString();
  mycmd = new SqlCommand("insert into tibaoxj values(@tb_num,@wl_num,@amount)", con);
  mycmd.Parameters.Add("@tb_num", SqlDbType.Char).Value = (string)Session["tb_num"];
  mycmd.Parameters.Add("@wl_num", SqlDbType.Char).Value = key;
  mycmd.Parameters.Add("@amount", SqlDbType.Int).Value = ((TextBox)(GridView1.Rows[i].Cells[4].FindControl("tb1"))).Text;
  con.Open();
  mycmd.ExecuteNonQuery();
  con.Close();
  }
  }
  }

--------删除记录操作-------
private void delete()
  {
  int n1 = GridView1.Rows.Count;
   
  for (int i = 0; i < n1; i++)
  {

  key = GridView1.DataKeys[i].Value.ToString();
  string sqlstr2 = "select * from tibaoxj where tb_num=@tb_num and wl_num=@wl_num";
  myda = new SqlDataAdapter(sqlstr2, con);
  DataSet myds1 = new DataSet();
  myda.SelectCommand.Parameters.Add("@tb_num", SqlDbType.Char).Value = (string)Session["tb_num"];
  myda.SelectCommand.Parameters.Add("@wl_num", SqlDbType.Char).Value = key;
  myda.Fill(myds1, "tibao1");
  int count1 = myds1.Tables["tibao1"].Rows.Count;
  if (count1 != 0)
  {

  mycmd = new SqlCommand("delete tibaoxj where tb_num=@tb_num and wl_num=@wl_num", con);
  mycmd.Parameters.Add("@tb_num", SqlDbType.Char).Value = (string)Session["tb_num"];
  mycmd.Parameters.Add("@wl_num", SqlDbType.Char).Value = key;
  con.Open();
  mycmd.ExecuteNonQu