{
string sValue=obj.tostring(); if(s.equals(string.empty))
{
s="'"+sValue+"'"; }
else
{
s=s+"'"+sValue+"'";
}
}
//构造queryfilter
Iqueryfilter filter=new queryfilter();
filter.whereclause="[ZDMBBSM] IN ("+s+")";
Itable table=(itable)oFeatureClass;
table.deletesearchedrows(filter);
但是在语句table.deletesearchedrows(filter);发生了“超出系统资源”的异常,删除失败。
原因分析:
解决方法:
我的补充:
foreach (KeyValuePair<string, StringBuilder> FCItem in DicFCInfo)
{
int count =FCItem.Value.Length/10000;//按长度10000分组
string s;
string strend = "";
for (int i = 0; i <count; i++)
{
s=FCItem.Value.ToString().Substring(i * 10000, 10000);
if (strend.Trim() != "") s = strend + s;
strend = s.Substring(s.LastIndexOf(",")+1);
s=s.Substring(0,s.LastIndexOf(","));
//if (s.StartsWith(",")) s = s.Substring(1, 9999);
if (!pSysDT.DeleteRows(FCItem.Key.ToString().Trim(), "OBJECTID in (" + s.Trim() + ")", out eError))
{
return false;
}
}
s = FCItem.Value.ToString().Substring(count * 10000);
if (strend.Trim() != "") s = strend + s;
if (s.StartsWith(",")) s = s.Substring(1);
if (!pSysDT.DeleteRows(FCItem.Key.ToString().Trim(), "OBJECTID in (" + s.Trim() + ")", out eError))
{
return false;
}
}
浙公网安备 33010602011771号