@@ -35,33 +35,33 @@ namespace WWPipeLine.MapTools.Conditions.EditGuanWang
protected override void OnLoad(EventArgs e)
{
//DatasetVector datasetVector = ComsStatic.Datasource.Datasets["JSJDPT"] as DatasetVector;
- //// 查询 SmID 为20的倍数的记录集(游标属性必须为动态),批量进行删除操作(每次 recordset 使用完要释放)
//EditHistory editHistory = new EditHistory();
- //editHistory.Capacity = 50;
- ////editHistory.BatchBegin();
-
+ //editHistory.Capacity = 50;
//Recordset recordset1 = datasetVector.GetRecordset(true, CursorType.Dynamic);
//editHistory.Add(EditType.AddNew, recordset1, false);
//recordset1.AddNew(new GeoPoint(new Point2D(0, 0)));
- ////recordset1.SetFieldValue("objectid", 100001);
+ //recordset1.SetFieldValue("objectid", 100001);
//bool result = recordset1.Update();
+ ////AddNew以后 不执行Update 肯定是可以Undo 因为都没提交保存到 数据库,不管是文件型 还是 PostgerSql
+ ////AddNew以后 执行Update Undo返回true 但是没有删除掉新增的记录
//Recordset recordset2 = datasetVector.Query("objectid =24510", CursorType.Dynamic);
- //editHistory.Add(EditType.Delete, recordset2, false);
- //result = recordset2.Delete();
+ //editHistory.Add(EditType.Modify, recordset2, false);
+ //recordset1.SetFieldValue("objectid", 245100);
+ //result = recordset2.Update();
+ ////Modify以后 执行Update Undo返回true 会回滚到更改之前的记录
+ ////结论就是:EditType.AddNew情况下,执行Update后, Undo返回true 但是没有删除掉新增的记录
+ //// EditType.Modify情况下,执行Update后, Undo返回true 会回滚到更改之前的记录
//Recordset recordset3 = datasetVector.Query("objectid =25126", CursorType.Dynamic);
//editHistory.Add(EditType.Delete, recordset3, false);
//result = recordset3.Delete();
- ////editHistory.BatchEnd();
- //// 判断历史信息是否能够回滚,若能回滚,则进行回滚操作
+
//while (editHistory.CanUndo)
//{
// bool b = editHistory.Undo();
//}
- //// 清空并释放历史信息
//editHistory.Clear();
//editHistory.Dispose();
//return;