使用产品:SMO_DotNET_712 操作系统:win10 x64
数据类型: 文件型
问题详细描述:
我有一批点对象,想要加到一个数据集中去,当前的数量是1358个,主要代码如下:
lsfgdDatasetVector = lsfgdLayer as DatasetVector;
Recordset lsfgdRecordset = lsfgdDatasetVector.GetRecordset(true, CursorType.Dynamic);
Recordset.BatchEditor editor = lsfgdRecordset.Batch;
editor.MaxRecordCount = 900;
editor.Begin();
try
{
foreach (DataRow dr in resultDt.Rows)
{
GeoPoint geoPoint = new GeoPoint(DbObjectConverter.ToDouble(dr["JD"]), DbObjectConverter.ToDouble(dr["WD"]));
Dictionary<String, Object> dicValues = new Dictionary<String, Object>(StringComparer.OrdinalIgnoreCase);
dicValues.Add("GYDWDM", DbObjectConverter.ToString(dr["GYDWDM"]));
dicValues.Add("LXBM", DbObjectConverter.ToString(dr["LXBM"]));
dicValues.Add("WZZH", DbObjectConverter.ToDouble(dr["WZZH"]));
lsfgdRecordset.AddNew(geoPoint, dicValues);
}
}
catch (Exception ex)
{
editor.Cancel();
throw ex;
}
finally
{
editor.Update();
lsfgdRecordset.Close();
lsfgdRecordset.Dispose();
}
当我将每次批量更新的数量设置为500,或者50等比较少的数字的时候,
我的地图就崩溃了,
其它别的一个图层的数据就坏了。
但是我肯定是没有打开那个图层进行修改的。
如果设置比较大的数值。比如1000,900的,就没有事,执行多少次都不会出问题。准确的说是818条就没有问题,817条就一定会崩溃。