| 发表于:2007-03-22 20:31:533楼 得分:0 |
更新函数 foreach (datarow dr in dataset1.tables[0].rows) { if (dr.rowstate == datarowstate.added) { class_trans_log.insert_trans_log(class_static.logon_user_name, "质检员窗口 ", "新增 ", "成功 " + dr[0, datarowversion.current].tostring() + " 的记录 "); } if (dr.rowstate == datarowstate.deleted) { class_trans_log.insert_trans_log(class_static.logon_user_name, "质检员窗口 ", "删除 ", "成功 " + dr[0, datarowversion.original].tostring() + " 的记录 "); } if (dr.rowstate == datarowstate.modified) { //foreach (datacolumn column in table.columns) //{ // console.writeline(dr[column]); //} if (dr[0, datarowversion.current] != dr[0, datarowversion.original]) { class_trans_log.insert_trans_log(class_static.logon_user_name, "质检员窗口 ", "更新 ", "成功 原 " + dr[0, datarowversion.original].tostring() + " 改为 " + dr[0, datarowversion.current].tostring() + " 的记录 "); } } } //将更改的数据更新到数据表里 this.oledbdataadapter1.update(this.dataset1.tables[0].getchanges()); //添加序列号,dataset中有序列号,而表中无相应字段 add_num_seq(); //datatable接受更改,以便为下一次更改作准备 dataset1.tables[0].acceptchanges(); 引用: 当对 dataset 调用 acceptchanges 时,任何仍处于编辑模式的 datarow 对象都将成功结束其编辑。每个 datarow 的 rowstate 属性也会更改;added 和 modified 行变为 unchanged,而 deleted 行则被移除。 对dataset1的序列号列调用add_num_seq()生成,调用的顺序调了很久 明日结帖 | | |
|