日期:2014-05-17  浏览次数:20843 次

vc#2010 操作的Access数据库
private void Form1_Load(object sender, EventArgs e)
  {
  // TODO: 这行代码将数据加载到表“dataDataSet.Record”中。您可以根据需要移动或删除它。
  this.recordTableAdapter.Fill(this.dataDataSet.Record);//这段是系统自动生成的.

  }

  private void Saveitem_Click(object sender, EventArgs e)  
  {
  this.recordTableAdapter.Update(this.dataDataSet.Record);//这段代码添加新的记录有效,修改dataGridView1列表中的现有的记录无效.
  //tableAdapterManager1.RecordTableAdapter = new DataDataSetTableAdapters.RecordTableAdapter();
  //tableAdapterManager1.UpdateAll(this.dataDataSet);这2句话与上面问题一样.
  }

使用的是vc#2010.使用了bindingNavigator1(Saveitem按钮在其中)控件,其他的控件是系统自动生成的.这里操作的Access数据库.

错误提示:当传递具有已修改行的 DataRow 集合时,更新要求有效的 UpdateCommand。
请教各位大侠,怎么解决?

------解决方案--------------------
this.recordTableAdapter.Update(this.dataDataSet.Record);//这段代码添加新的记录有效,修改dataGridView1列表中的现有的记录无效.
1首先看这句更新数据库有效不?
2更新后要重新加载和绑定才可看到新修改的记录。