我正在开发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运行良好。