SuperMap属性表操作中遇到的Query结果为null的问题分析及解决

在SuperMap处理过程中遇到一个问题
对soDatasetVector进行Query得不到结果,返回null
以下是及时窗口的分析过程
objDtv.RecordCount
1
objDtv.ClearRecordsets ()
true
objDtv.ReBuildSpatialIndex()
“ReBuildSpatialIndex”方法没有采用“0”个参数的重载
objDtv.ReBuildSpatialIndex(true)
true
objDtv.Open ();
true
objDtv.RecordCount 
1
soRecordset cao = objDtv .Query ("1>0",true,null,"");
类型名称或命名空间名称“soRecordset”在此范围内无效
SuperMapLib.soRecordset cao =objDtv .Query ("1>0",true,null,"");
null
objDs.Datasets.Count 
87
SuperMapLib.soRecordset cao =objDtv .Query ("1>0",false ,null,"");
已在此范围定义了名为“cao”的局部变量。
SuperMapLib.soRecordset cao1 =objDtv .Query ("1>0",false ,null,"");
null
objDtv.ReBuildSpatialIndex (true)
true
SuperMapLib.soRecordset cao1 =objDtv .Query ("1>0",false ,null,"");
已在此范围定义了名为“cao1”的局部变量。
SuperMapLib.soRecordset cao2 =objDtv .Query ("1>0",false ,null,"");
null
objDtv .Flush ()
true
objDtv .Open ()
true
SuperMapLib.soRecordset cao3 =objDtv .Query ("1>0",false ,null,"");
null
SuperMapLib.soDataSource caoDS = SmSpatialCommon.GlobalResource.SoDataSource ;
{System.__ComObject}
    [System.__ComObject]: {System.__ComObject}
SuperMapLib.soDatasetVector caoDV = caoDS.Datasets["Map_ImgTableTemp"] as SuperMapLib.soDatasetVector ;
{System.__ComObject}
    [System.__ComObject]: {System.__ComObject}
SuperMapLib .soRecordset caoRs = caoDV.Query ("1>0",false,null,"");
null
SuperMapLib.soError caoe = new SuperMapLib.soError ();
{SuperMapLib.soErrorClass}
    [SuperMapLib.soErrorClass]: {SuperMapLib.soErrorClass}
SuperMapLib .soRecordset caoRs1 = caoDV.Query ("1>0",false,null,"");
null
caoe.LastMsgError
“SuperMapLib.soError”并不包含“LastMsgError”的定义
caoe.LastErrorMsg
"[2008-9-22 15:54:15     错误] 查询选项错误。"
SuperMapLib .soRecordset caoRs2 = caoDV.Query ("SmID =1",false,null,"");
null
caoe.LastErrorMsg
"[2008-9-22 15:54:15     错误] 查询选项错误。"
SuperMapLib.soStrings caostring = new SuperMapLib.soStringsClass ();
{SuperMapLib.soStringsClass}
    [SuperMapLib.soStringsClass]: {SuperMapLib.soStringsClass}
SuperMapLib .soRecordset caoRs3 = caoDV.Query ("SmID =1",false,caostring,"");
null
caoe.LastErrorMsg
"[2008-9-22 15:54:15     错误] 查询选项错误。"
SuperMapLib.soStrings caostr2 = new SuperMapLib.soStringsClass();
{SuperMapLib.soStringsClass}
    [SuperMapLib.soStringsClass]: {SuperMapLib.soStringsClass}
caostr2.Add("SmID");
true
SuperMapLib .soRecordset caoRs4 = caoDV.Query ("SmID =1",false,caostr2,"");
{System.__ComObject}
    [System.__ComObject]: {System.__ComObject}
caoRs4.Delete();
true
caoRs4.Update();
0
继续用Deskpro分析,发现其中一个字段加入到查询结果中的时候,继续报错
结论,及处理方法:
这可能是这个字段出现了错误,把这个字段删除,然后重新加上,就可以了
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值