2016-07-26 63 views
0

I'developing a SAPUI5 application。我需要以检索从数据库DATAS和我使用的是.xsjs,这是我的Ajax调用:XSJS总是返回来自ajax调用的exmpty结果集

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返回总是空的结果。

回答

0

我修正了它,我不能发送“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工作正常。