首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

对datagridView的更新、删除、插入操作的记录解决办法

2012-02-25 
对datagridView的更新、删除、插入操作的记录通过以下对DATAGRIDVIEW中的修改(删除、更新、插入)后的数据进行

对datagridView的更新、删除、插入操作的记录
通过以下对DATAGRIDVIEW中的修改(删除、更新、插入)后的数据进行数据库更新
this.oleDbDataAdapter1.Update(this.dataSet1.Tables[0].GetChanges());
dataSet1.Tables[0].AcceptChanges();


this.dataSet1.Tables[0].GetChanges()返回更改后的DATASET。
我想将更改后的dataSet1后更改前的dataSet1进行比较

得到对原dataSet1的具体修改信息;
      比如对第2条记录的某字段,将值ABC改为ABCD
      对第三条记录进行了删除操作
      并插入了一条新的记录

用户对dataSet1进行的三次操作通过三次调用自定义函数LOG(STRING   ACTION)进行操作记录

或者是否能记录oleDbDataAdapter1的oleDbInsertCommand1、oleDbUpdateCommand1、oleDbDeleteCommand1执行来判定作了何种操作?




[解决办法]
不用这么麻烦,dataset对数据表的每一行的数据都记录的有状态,可以用其来解决你的问题,但前提是不能GetChanges
[解决办法]
SqlDataAdapter adapter = new SqlDataAdapter(sqlstr);
SqlCommandBuilder cmdBuilder = new SqlCommandBuilder(adapter);
if (ds.HasChanges())
{
adapter.Update(ds, tablename);
}
有这几句就可以批处理了
注意sqlstr必须是一个查询语句,并且必须要

热点排行