首页 / 浏览问题 / 三维GIS / 问题详情
SQL查询总是失败
8EXP 2019年12月09日
代码如下,传值都能成功就是查询一直失败。

buttonSearch.onclick = function doSqlQuery(){
      
              var searchCarid = "SMID == " + document.getElementById("selectbar").value;
            var getFeatureParam, getFeatureBySQLService, getFeatureBySQLParams;
            getFeatureParam = new SuperMap.REST.FilterParameter({
                
                attributeFilter: searchCarid
            });
            getFeatureBySQLParams = new SuperMap.REST.GetFeaturesBySQLParameters({
                queryParameter: getFeatureParam,
                fromIndex : -1,
                toIndex : 1000000,
                datasetNames: ["车B21@停车场"]
            });
            var url = 'http://192.168.100.95:8090/iserver/services/data-LanDaErYuanTingCheChang22/rest/data';
            getFeatureBySQLService = new SuperMap.REST.GetFeaturesBySQLService(url, {
                eventListeners: {
                    "processCompleted": onQueryComplete,
                    "processFailed": processFailed
                }
            });
            getFeatureBySQLService.processAsync(getFeatureBySQLParams);
        }

        function processFailed(queryEventArgs){
            alert('查询失败!');
        }

2 个回答

我一般设置toindex是-1,不设置fromindex,返回全部数据。
12EXP 2019年12月09日
尝试过这种设置,还是不行,还是查询失败.我想问问我这种标记数据集,调用函数的方法是基本正确的吧???
调用函数的方法看着没问题,这样不太容易看出来,我看着像datasetNames有些问题,应该是GetFeaturesBySQLParameters的值,不是FilterParameterName的值。

现在改成这样了,就是demo的样子,但是报错了

getFeatureBySQLParams = new SuperMap.REST.GetFeaturesBySQLParameters({
                queryParameter: getFeatureParam,
                //fromIndex : -1,
                toIndex : -1,
                datasetNames: ["停车场:" + "车B21"]
            });

报错在图里

类似:datasetNames: ["testpoi:Port"]。之后的错误就不太像是这边的,只要传值属性都正确,这边应该没啥问题。

您好,最简单的方法就是,在官网的示范把您的数据服务地址,数据源,数据集,查询条件改了,执行一下,肯定是可以的,然后再把这些参数复制到自己的demo里面去就好啦。
1,255EXP 2019年12月09日
嗯嗯,现在用SMID已经可以查询了,但是用自己设置的属性不行,这是为什么呢
仔细检查一下您的查询条件对不对哈,肯定是可以的呢。

都可以执行,就是获取不到元素,是这种设置格式不对吗

查询条件中可以出现汉字吗
或者对于查询条件的长度有要求吗
就是正常的sql语句,我看了您的代码,感觉就是sql语句有问题。您仔细检查一下
...