对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必须是一个查询语句,并且必须要