XSJS总是从ajax调用返回异常结果集



我正在开发SAPUI5应用程序。我需要从数据库中检索数据,我使用的是.xsjs,这是我的ajax调用:

jQuery.ajax({
            url : "/SimpleProject/services/querytest.xsjs",
            method: "GET",
            success: function(response) {
                console.log(JSON.parse(response));
            },
            error: function(e) {
                sap.ui.commons.MessageBox.alert("ERROR");
            }
        });

这是我的.xsjs文件,我试图在其中查询SAP HANA数据库。

    try {
    $.response.contentType = "application/json"; 
    var conn = $.db.getConnection();
    var statement = conn.prepareStatement('SELECT * FROM "_SYS_BIC"."TABLETEST"');
    var rs = statement.executeQuery();
    conn.commit();
    if (rs != undefined)
        $.response.setBody(JSON.stringify(rs));
    else $.response.setBody(JSON.stringify("empty record set"));
    $.response.status = $.net.http.OK;
} catch(e) {
    $.response.status = $.net.http.INTERNAL_SERVER_ERROR;
    $.response.setBody(JSON.stringify(e));
} finally {
    statement.close();
    conn.close();
}

如果我从SQL控制台执行查询,它运行良好,但从xsjs返回的结果总是空的。

我修复了它,我不能将"rs"对象作为输出发送,但我必须构建另一个对象作为结果;

    while (rs.next()) {
       var record = {};
        record.npp = rs.getString(1);
        record.prog = rs.getString(2);
        record.sottoProg = rs.getString(3);
        output.results.push(record);
}
rs.close();

现在xsjs运行良好。

最新更新