查询iserver服务报错

0 喜欢 0 不喜欢
126 浏览

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

代码如下图

报错信息在这

最新提问 5月 24, 2017 分类:移动GIS | 用户: 岛风 初出茅庐 (43 分)

1个回答

0 喜欢 0 不喜欢
你好,sql查询应该不用设置spatialQueryMode这个属性,你去掉看下呢
最新回答 5月 24, 2017 用户: 周仕斌 学富五车 (757 分)
去掉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查询确实会有问题,我这边已经上报给研发了,麻烦留下联系方式和单位,这边修改好了及时与您联系
...