首页 / 浏览问题 / WebGIS / 问题详情
数据服务的增删改查。
588EXP 2020年08月18日

通过数据服务对要素进行增删改查,能够进行增和改,但通过IDs或SQL条件删除要素不成功,代码有问题,麻烦帮忙看看。数据是存在postgresql空间数据库里的。

删除代码如下

   //IDS删除要素
    function deletelineids() {
        var commit = getcommit();
        var uri = "http://localhost:8090/iserver/services/data-editer-2/rest/data/datasources/name/localhost:5432_AAA/datasets/name/myline/features.rjson";

        //欲增加的要素信息。线或面。
        //其中的 ID、SMID、geometry.id 一致,传入的值无效。SMLIBTILEID 的值是固定的,传入的值也无效。
        var NewFeature = {
            "IDs":[4]
        }

        //欲增加的要素信息集合(包含1个要素)
        var entity = [NewFeature];
        commit.open("POST", encodeURI(uri) + "?_method=DELETE&deleteMode=IDS", false, "", "");
        commit.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
        commit.send(toJSON(entity));
        //解析从服务器端返回的 json 字符串,解析为一个 JavaScript 对象。
        var response = json_parse(commit.responseText, null);
        console.log(commit.responseText);
        //提示结果
        if (!response.succeed) {
            alert("删除失败!" )
        } else {
            alert("删除成功!")
        }
    }

    //SQL条件删除要素
    function deletelinesql() {
        var commit = getcommit();
        var uri = "http://localhost:8090/iserver/services/data-editer-2/rest/data/datasources/name/localhost:5432_AAA/datasets/name/myline/features.rjson";

        //欲增加的要素信息。线或面。
        //其中的 ID、SMID、geometry.id 一致,传入的值无效。SMLIBTILEID 的值是固定的,传入的值也无效。
        var NewFeature = {"attributeFilter":"SmID %26lt; 5"} //SmID<5

        //欲增加的要素信息集合(包含1个要素)
        var entity = [NewFeature];
        commit.open("POST", encodeURI(uri) + "?_method=DELETE &deleteMode=SQL", false, "", "");
        commit.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
        commit.send(toJSON(entity));
        //解析从服务器端返回的 json 字符串,解析为一个 JavaScript 对象。
        var response = json_parse(commit.responseText, null);
        console.log(response);

        //提示结果
        if (!response.succeed) {
            alert("删除失败")
        } else {
            alert("删除成功")
        }
    }

...