可以用每次修改都生成一句upodate的sql语句并拼接起来成一句,然后在click的时候,执行拼接起来的这句sql.

解决方案 »

  1.   

    string Strsql="select * from FMS04.BG@BGGS";
    OleDbDataAdapter adapter=new OleDbDataAdapter(Strsql,conn);--申明此DataAdapter为全局变量;
    DataSet ds=new DataSet();--此DataSet也为全局变量
    这一举改了:
    SqlCommandBuilder sqlcmd=new SqlCommandBuilder(adapter);
    在cLICK事件中:
    myDataAdapter.Update(ds, "BG@BGGS");
      

  2.   

    没看你的不是SQl,如果是OLE则为:
    OleDbCommandBuilder olecmd=new OleDbCommandBuilder(adapter);
      

  3.   

    在Click事件中:
    adapter.Update(ds, "BG@BGGS");
      

  4.   

    To:清水无鱼和风暴不再
    你们俩说的都可以执行,而且没问题,但是修改的数据还是没有反写到数据库中。我得源代码是这样的:
    private System.Windows.Forms.Button button1;
    private System.Windows.Forms.Button button2;
    private System.Windows.Forms.DataGrid dg;
    private System.Data.DataSet ds;
    private System.Data.OleDb.OleDbCommandBuilder cmdb;
    private System.Data.OleDb.OleDbDataAdapter adapter;
    private System.Data.OleDb.OleDbConnection conn;
    private void button1_Click(object sender, System.EventArgs e)
    {
    string Source="Provider=IBMDADB2.1;User ID=db2admin;password=password;Data Source=test_app";
    conn=new OleDbConnection(Source);
    string Strsql="select * from FMS04.BG@BGGS";
    adapter=new OleDbDataAdapter(Strsql,conn);
    ds=new DataSet();
    adapter.Fill(ds,"BG@BGGS");
    this.cmdb=new System.Data.OleDb.OleDbCommandBuilder(adapter);
    dg.DataSource=ds;
    dg.DataMember="BG@BGGS";
    }
    private void button2_Click(object sender, System.EventArgs e)
    {
    this.ds.Tables["BG@BGGS"].AcceptChanges();
    adapter.Update(ds,"BG@BGGS");
    }
      

  5.   

    斑竹的问题有没有解决?我也有此问题,如果解决了共享一下
    [email protected]
      

  6.   

    private void button2_Click(object sender, System.EventArgs e)
    {
             // 重新打开conn再关闭
             //最后使用adapter.AcceptChanges();
    }
      

  7.   

    private void button2_Click(object sender, System.EventArgs e)
    {
             conn.Open();

    adapter.Update(ds,"BG@BGGS");         conn.Close();         this.ds.Tables["BG@BGGS"].AcceptChanges();
    }
      

  8.   

    adapter.Fill(ds,"BG@BGGS");
    this.cmdb=new System.Data.OleDb.OleDbCommandBuilder(adapter);
    换一下位置:
    this.cmdb=new System.Data.OleDb.OleDbCommandBuilder(adapter);
    adapter.Fill(ds,"BG@BGGS");
      

  9.   

    绑定DataGrid时。
    this.cb=new SqlCommandBuilder(da);//----
    da.Fill(ds, "MyTable");更新按钮
    private void button1_Click(object sender, System.EventArgs e)
    {
    da.Update(ds,"MyTable");
    }注:其中cb,da,ds都是全局变量。