日期:2014-05-19  浏览次数:20809 次

oledb方式下gatagrid的数据更新异常
private   void   button1_Click(object   sender,   System.EventArgs   e)
{
          oleDbDataAdapter1.Update(dsAuthors1, "PHONE ");
          MessageBox.Show( "Database   updated! ");

}

未处理的“System.InvalidOperationException”类型的异常出现在   system.data.dll   中。

其他信息:   当传递具有已修改行的   DataRow   集合时,更新要求有效的   UpdateCommand。
      是不是oledb就不能调用update()了?请问用什么代替?偶素新人~~~

------解决方案--------------------
1可以使用OleDbCommandBuilder来生成

2或者自己写


使用方式1时 数据表必须有主键 且返回的数据集必须包含主键列信息

------解决方案--------------------
你是否自己写了updateCommand?

如果没有要这样写
SqlCommandBuilder cmd = new SqlCommandBuilder(oleDbDataAdapter1);
oleDbDataAdapter1.Update(dsAuthors1, "PHONE ");

还要保证你数据库里相应的表有主键