急~~~~  请问为什么我在DataGrid中使用了模版列来做对DataGrid直接进行编辑 为什么他读出来的数据不是我修改的数据而是原来数据库的呢 DBUse con = new DBUse();//DBUse 是自己写的类
SqlConnection cn = con.connect();
SqlCommand cmd = new SqlCommand("wb_tran",cn);
cmd.CommandType=CommandType.StoredProcedure;
cmd.Parameters.Add("@var_transitfee",SqlDbType.Money).Value = ((TextBox)e.Item.FindControl("TextBox3")).Text;
cmd.Parameters.Add("@var_id",SqlDbType.Int).Value = e.Item.Cells[4].Text;

cn.Open();

cmd.ExecuteNonQuery();
// DataGrid1.EditItemIndex = -1;
this.fillDataGrid();//刷新DataGrid
储存过程如下:
@var_transitfee money,
@var_id int
AS
update GPStransit set wb_transitfee=@var_transitfee where [id]=@var_id
GO

解决方案 »

  1.   

    我顶~~~~~~~~~~~~~~~====CSDN 小助手 V2.0 2005年10月16日发布====
    CSDN小助手是一款脱离浏览器也可以访问Csdn论坛的软件
    界面:http://blog.csdn.net/Qqwwee_Com/archive/2005/10/16/504620.aspx
    下载:http://szlawbook.com/csdnv2/csdnv2.rar为神六喝彩,向所有科技工作者致敬!
    拒绝日货。
      

  2.   

    上面的代码是在什么事件中写的?
    可以写在一个保存button的事件中,
    边历这个DataGrid
    DBUse con = new DBUse();//DBUse 是自己写的类
    SqlConnection cn = con.connect();
    SqlCommand cmd = new SqlCommand("wb_tran",cn);
    cmd.CommandType=CommandType.StoredProcedure;
    cn.Open();for(int i=0;i<DataGrid.items.count;i++)
    {
      cmd.Parameters.clear();
     cmd.Parameters.Add("@var_transitfee",SqlDbType.Money).Value = ((TextBox)DataGrid.items[i].FindControl("TextBox3")).Text;
    cmd.Parameters.Add("@var_id",SqlDbType.Int).Value = DataGrid.items[i].Cells[4].Text;


    cmd.ExecuteNonQuery();}
    cn.close();
    this.fillDataGrid();//刷新DataGrid