1、怎么样更新dataset中的表  而不更新数据库?
2、如何实现多行修改后的一次更新?

解决方案 »

  1.   

    1、怎么样更新dataset中的表  而不更新数据库?
    2、如何实现多行修改后的一次更新?
    -----------------------------
    1.你只是操作dataset中的表 ,比如datatable,datarow等。并没有update.
    2.对dataset中的表多行修改后再执行update。
      

  2.   

    1、怎么样更新dataset中的表  而不更新数据库?
    可以使用datarow更新一行2、如何实现多行修改后的一次更新?
    用dataadapter的update方法。
      

  3.   

    你只要先操作dataset,你修改完以后再执行updata
      

  4.   

    to 1、怎么样更新dataset中的表 而不更新数据库?yourDataSet.AcceptChanges();
      

  5.   

    to 2、如何实现多行修改后的一次更新?更新什么?DataSet的话,如上即可,否则就需要用你的DataAdapter去update了。
      

  6.   

    private void DataGrid1_UpdataCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
    {
    strConn="Provider=MSDAORA.1;User ID=lwj;Data Source=wellvv;Password=321";
    cnn=new OleDbConnection (strConn);
    string updateStr="update testgrid set"+" num=@num,name=@name,userid=@userid,grade=@grade ";
    OleDbCommand comm=new OleDbCommand (updateStr,cnn);
    //添加参数
    comm.Parameters .Add (new OleDbParameter ("@name",System.Data .OleDb .OleDbType .VarChar ,20));
    comm.Parameters .Add (new OleDbParameter ("@userid",System.Data .OleDb .OleDbType .VarChar ,20));
    comm.Parameters .Add (new OleDbParameter ("@grade",System.Data .OleDb .OleDbType .VarChar ,20));
    //给参数赋值
    string colvalue=((TextBox)e.Item .Cells [3].Controls [0]).Text ;
    colvalue=((TextBox)e.Item .Cells [3].Controls [0]).Text ;
    comm.Parameters ["@name"].Value =colvalue;
    colvalue=((TextBox)e.Item .Cells [4].Controls [0]).Text ;
    comm.Parameters ["@userid"].Value =colvalue;
    colvalue=((TextBox)e.Item .Cells [5].Controls [0]).Text ;
    comm.Parameters ["@grade"].Value =colvalue;
    //打开连接
    cnn.Open ();
    try
    {
    comm.ExecuteNonQuery ();
    Response.Write("<script language=javascript>alert('修改成功!')</script>");
    this.DataGrid1.EditItemIndex=-1; }
    catch(Exception ex)
    {
    System.Web.HttpContext.Current.Response.Write(ex.Message.ToString());
    Response.Write("<script language=javascript>alert('修改失败!')</script>");
    }
    cnn.Close();

    BindGrid();
    }运行有问题  提示缺少表达式    帮我看看哪里有问题啊?
      

  7.   

    你的num参数没有进行初始化。
      

  8.   

    HTML中   <asp:BoundColumn DataField="num" ReadOnly="True" HeaderText="num"></asp:BoundColumn>
      那还要怎么写啊?
      

  9.   

    string updateStr="update testgrid set "+" name=@name,userid=@userid,grade=@grade ";
    还是缺少表达式啊。。
      

  10.   

    问题在这里"update testgrid set"+" num=@num,name=@name,userid=@userid,grade=@grade ";
    你使用的OLEDB 在 ORACLE 中不能使用  @  参数化查询的方法
      

  11.   

    1、怎么样更新dataset中的表 而不更新数据库?使用内存更新修改DataTable中的DataRow状态为未修改的情况,
    yourDataSet.AcceptChanges();2、如何实现多行修改后的一次更新?
    使用DataAdapter.Update来做,
    http://blog.csdn.net/zhzuo/archive/2004/08/06/67037.aspx
      

  12.   

    我的意思就是  只对DATASET修改, 而不是更新到数据库里
    -----------
    另外,如何在DataGrid中插入一行?
     注意不是对数据库操作,而是插入一个ITEM项  具有和每个DataGrid列相同的TextBox. 
      

  13.   

    System.Web.UI.WebControls.DataGridItem tr =new DataGridItem(trIndex,dataSetIndex,ListItemType.Item);
    this.DataGrid1.Controls.Add(tr);