2016-07-26 108 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工作正常。