需要调用DataSet.AcceptChanges()方法才能更新数据源中的数据。

解决方案 »

  1.   

    加上DataSet.AcceptChanges()还是不行啊,是这样吗?
    private void button_change_Click(object sender, System.EventArgs e)
    {
       f_List2.Tables ["Friend_List"].Rows[0]["Email"]=textBox_email.Text ;
       oleDbDataAdapter1.Update (f_List2,"Friend_List");
       f_List2.AcceptChanges();
    }不行啊,楼上的
      

  2.   

    那样不行,我记得是还要创建oleCommandBuilder,加上下面这句应该对了
    oleCommandBuilde myCommandBuilder=new oleCommandBuilde(oleDbDataAdapter1);
      

  3.   

    DataSet.AcceptChanges是通知DataSet數據已經修改並修改對應記錄的狀態標志你檢查oleDbDataAdapter1.updatecommand.commandtext
      

  4.   

    加上DataSet.AcceptChanges()还是不行啊,是这样吗?
    private void button_change_Click(object sender, System.EventArgs e)
    {
       f_List2.Tables ["Friend_List"].Rows[0]["Email"]=textBox_email.Text ;
       oleDbDataAdapter1.Update (f_List2,"Friend_List");
       f_List2.AcceptChanges();
    }不行啊,楼上的
    ---------->>>
    private void button_change_Click(object sender, System.EventArgs e)
    {
       f_List2.Tables ["Friend_List"].Rows[0]["Email"]=textBox_email.Text ;
       f_List2.AcceptChanges();
       oleDbDataAdapter1.Update (f_List2,"Friend_List"); 
    }
      

  5.   

    private void button_change_Click(object sender, System.EventArgs e)
    {
       f_List2.Tables ["Friend_List"].Rows[0]["Email"]=textBox_email.Text ;   
       OleCommandBuilde myCommandBuilder=new OleCommandBuilde(oleDbDataAdapter1);
       oleDbDataAdapter1.Update (f_List2,"Friend_List"); 
       f_List2.AcceptChanges();
    }
    另外在OleCommandBuilde myCommandBuilder=new OleCommandBuilde(oleDbDataAdapter1);这句之前要打开数据连接,在AcceptChanges()后要关闭数据连接
      

  6.   

    f_List2.AcceptChanges(); 
       OleCommandBuilde myCommandBuilder=new OleCommandBuilde(oleDbDataAdapter1);都可以不用写
    估计是你的 da ,或ds 有错
      

  7.   

    我以前遇到了一个非常弱的问题,也是不能 update 最后知道了
    如果要update 数据库更新的那张表必须设置 主键,也就是primary key
      

  8.   

    这样还是不行,是不是哪儿设的不对啊???快疯了private void button_change_Click(object sender, System.EventArgs e)
    {             
      f_List2.Tables ["Friend_List"].Rows[0]["Email"]=textBox_email.Text ;  
      oleDbConnection1.Open ();
      OleDbCommandBuilder myCommandBuilder=new OleDbCommandBuilder(oleDbDataAdapter1);
      oleDbDataAdapter1.Update (f_List2,"Friend_List"); 
      f_List2.AcceptChanges();
      oleDbConnection1.Close();
    }
      

  9.   

    楼主试试: 
    oleDbDataAdater1=new oleDbDataAdater1(查询语句,数据连接对象名);
    OleDbCommandBuilder myCommandBuilder=new OleDbCommandBuilder(oleDbDataAdapter1);
    oleDbConnection1.Open ();
    ……数据更改……
    oleDbDataAdapter1.Update (f_List2,"Friend_List"); 
    oleDbConnection1.Close();
      

  10.   

    就是啊,我发现问题是这样的,当我写成
    f_List2.Tables ["Friend_List"].Rows[0]["Email"]=“sfsfjk";或者
    string mail="dkfgk";
    f_List2.Tables ["Friend_List"].Rows[0]["Email"]=mail;的时候可以修改而只要写成
    f_List2.Tables ["Friend_List"].Rows[0]["Email"]=textBox_tel.Text;或者string mail=textBox_tel.Text;
    f_List2.Tables ["Friend_List"].Rows[0]["Email"]=mail ;都无法修改数据库
    怎么回事 ??
      

  11.   

    f_List2.Tables ["Friend_List"].Rows[0]["Email"]=textBox_tel.Text;或者string mail=textBox_tel.Text;
    f_List2.Tables ["Friend_List"].Rows[0]["Email"]=mail ;都无法修改数据库
    怎么回事 ??
    >>>>>
    估计是数据库的长度限制,加上mail.trim() or textbox_tel.text.trim()试试;
      

  12.   

    这样啊我来吧。首先你要确保表中有一个主键。
    然后用
    OleDbCommandBuilder oscb=new OleDbCommandBuilder(oleDbDataAdapter1);
    f_List2.Tables ["Friend_List"].Rows[0]["Email"]=textBox_email.Text ;
    oleDbDataAdapter1.Update (f_List2,"Friend_List");
    这样看看。呵呵。。一定行
      

  13.   

    建议使用SqlCommand,SQL语句来做!
      

  14.   

    我看过源码了,不知道是什么回事,郁闷。
    只有先解除绑定,调用AcceptChanges()再添加要更改的代码,然后再调用AcceptChanges()方法,最后重新添加绑定才可以正常运行。
    百思不得其解......
      

  15.   

    先解除绑定,调用AcceptChanges()再添加要更改的代码,然后再调用AcceptChanges()方法,最后重新添加绑定才可以正常运行,可是很不稳定,开始时候可以更改,试几次以后就更改不了,或者到oleDbDataAdapter1.Update (f_List2)就出现异常,异常代码为:未处理的“System.Data.DBConcurrencyException”类型的异常出现在 system.data.dll 中其他信息:并发冲突:UpdateCommand 影响 0 个记录。好郁闷啊……
      

  16.   

    oleDbDataAdapter1.updatecommand.commandtext
    设置好不久行了,上面的说的不是很清楚了
      

  17.   

    如果是访问Access数据库,那么你检查一下你的asp.net用户有没有访问权限