首页 / 浏览问题 / 云GIS / 问题详情
iClient sql查询 shp中text类型的字段怎么查
2EXP 2020年03月18日

使用产品iServer 10i

操作系统 :win10 64x

我使用官网iServer sql数据查询的示例,然后shp中的字段类型为“short”,“double”是可以成功选中查询出来的,但是我想查询text却一直查不到。我想问一下,是不是字段名不能是中文,还是attributeFilter条件写错了呢?还是不能查询text呢?感谢解答!

失败的代码如下:

function query() {
        
        var sqlParam = new SuperMap.GetFeaturesBySQLParameters({
            queryParameter: {
                name: "gongjiaozhan@gongjiaozhan",
                attributeFilter: "'公交站' = xuniyi"
            },
            datasetNames: ["gongjiaozhan:gongjiaozhan"]
        });
        L.supermap
            .featureService(dataurl)
            .getFeaturesBySQL(sqlParam, function (serviceResult) {
                resultLayer = L.geoJSON(serviceResult.result.features).addTo(map).bindPopup('虚拟一站');
            });
            
    }
//“公交站”字段的类型为“text”

成功的代码如下

function query() {
        
        var sqlParam = new SuperMap.GetFeaturesBySQLParameters({
            queryParameter: {
                name: "gongjiaozhan@gongjiaozhan",
                attributeFilter: "gjzlong = 1"
            },
            datasetNames: ["gongjiaozhan:gongjiaozhan"]
        });
        L.supermap
            .featureService(dataurl)
            .getFeaturesBySQL(sqlParam, function (serviceResult) {
                resultLayer = L.geoJSON(serviceResult.result.features).addTo(map).bindPopup('虚拟一站');
            });
            
    }
//gjzlong字段的类型为“short”

希望您能帮忙解决,看看要查text 的话,那条件该怎么写,非常感谢!

1个回答

text的内容应该是"字段名= '查询值'",另外尽量不要用中文字段名
5,668EXP 2020年03月19日
您好,我试了如果字段名都是英文的情况下,字段类型都是string,值是英文就能查,中文就查不了是啥情况呢?(“字段名= '中文查不了,英文的话这个单引号没加也能查'”),期待回复,谢谢您!
...