首页 / 浏览问题 / 移动GIS / 问题详情
查询iserver服务报错
14EXP 2017年05月24日

imobile for iOS 查询iserver服务,查询报错信息queryMode不能为空

代码如下图

报错信息在这

1个回答

你好,sql查询应该不用设置spatialQueryMode这个属性,你去掉看下呢
1,737EXP 2017年05月24日
去掉spatialQueryMode属性进行查询还是报一样的错误

我这边测试是可以正常查询的,测试代码如下,你可以试下:

<!--StartFragment -->

ServiceQueryParameter *para=[[ServiceQueryParameter alloc]init];
    QueryService *queryServer=[[QueryService alloc]init];
    
    para.mServiceAddress=@"imagehttp://support.supermap.com.cn:8090";
    para.mServiceName=@"map-world/rest";
    para.mMapName=@"World";
    para.mQueryLayerName=@"Capitals@World#1";
    para.attriButeFilter=@"SmID<10";
    para.nqueryOption=ATTRIBUTE;
    queryServer.queryServiceDelegate=self;
    FeatureSet *feature= [queryServer queryWithServiceParam:para QueryMode:SqlQuery];

使用测试代码测试,当attriButeFilter = @"SMID<10"时,控制台输出信息如下图

当我把attriButeFilter修改为Country like "%国%"后,再一次提示errCode:400 queryMode不能为空

但是在http://support.supermap.com.cn:8090的iServer服务中,SQL语句查询Country like "%国%"是有记录的

再次修改测试代码attriButeFilter...发现只要是xxx like "xxx"格式的SQL查询语句都会提示errCode:400 queryMode不能为空
使用like查询确实会有问题,我这边已经上报给研发了,麻烦留下联系方式和单位,这边修改好了及时与您联系
...