ArcEngine資料刪除幾種方法

2021-04-26 13:31:44 字數 2535 閱讀 9942

一、

幾種刪除方法**

1.

查詢結果中刪除

private void delete1(ifeatureclass pfeatureclass)

system.runtime.interopservices.marshal.releasecomobject(pqueryfilter); }

2.

更新游標刪除

private void delete2(ifeatureclass pfeatureclass)

system.runtime.interopservices.marshal.releasecomobject(pqueryfilter); }

3.

使用deletesearchedrows刪除

private void delete4(ifeatureclass pfeatureclass)

4.

executesql刪除

private void delete4(ifeatureclass pfeatureclass)

二、

測試效能和比較

1

相同的資料條件,刪除2000條記錄

2

測試**

ifeaturelayer pfeaturelayer = axmapcontrol1.map.get_layer(0) as ifeaturelayer;

ifeatureclass pfeatureclass = pfeaturelayer.featureclass;

system.diagnostics.stopwatch mywatch = new system.diagnostics.stopwatch();

mywatch.start();

delete1(pfeatureclass)

//delete2(pfeatureclass);

//delete3(pfeatureclass);

//delete4(pfeatureclass);

//delete5(pfeatureclass);

mywatch.stop();

messagebox.show("

刪除時間:" + mywatch.elapsedmilliseconds.tostring() + "毫秒");

3

測試情況

測試方法

第一次時間(單位ms)

第一次時間(單位ms)

1

5214ms

5735ms

2

299ms

290ms

3

59ms

28ms

4

26ms

26ms

三、

結論

1

使用executesql刪除最快,資料庫的效率最高。

2

deletesearchedrows和executesql屬於批量刪除,效能較優。

3

查詢結果中刪除,速度最慢,如果你使用這種方法,建立你馬上修改你的程式,因為你在浪費時間。

ArcEngine 幾種刪除資料的比較

1 ifeaturecursor 游標查詢後,遍歷刪除 2 更新游標刪除ifeaturecursor.deletefeature 3 itable.deletesearchedrows刪除 4 idataset.workspace.executesql 一 幾種刪除方法 1.查詢結果中刪除 priv...

ArcEngine資料刪除幾種方法和效能比較

原文 arcengine資料刪除幾種方法和效能比較 一 幾種刪除方法 1.查詢結果中刪除 private void delete1 ifeatureclass pfeatureclass iqueryfilter pqueryfilter new queryfilterclass pqueryfil...

ArcEngine資料刪除幾種方法和效能比較

原文 arcengine資料刪除幾種方法和效能比較 一 幾種刪除方法 1.查詢結果中刪除 private void delete1 ifeatureclass pfeatureclass iqueryfilter pqueryfilter new queryfilterclass pqueryfil...