我是xsjs新手,我知道要从db(hana db)检索数据,我们需要使用prepare语句。我尝试过使用它,但是我的.xsjs文件返回空的json。有人能帮我吗?分享我的代码。下面是用户表
id | user_name | password | marks
1 | Prasanna | test@123 | 10
2 | sasne | test@123 | 20
3 | Ankush | test@123 | 0
4 | Shubham | test@123 | 30
5 | Anupama | test@123 | 15
现在我想根据 id
请求。我的xsjs代码如下
if ($.request.method === $.net.http.GET) {
var conn = $.db.getConnection();
var id = $.request.parameters.get('id');
var statement = 'SELECT * FROM "USER_TABLE" WHERE ID = ?';
$.response.contentType = "application/json";
try {
var pstmt = conn.prepareStatement(statement);
pstmt.setString(1, id);
var result = pstmt.executeQuery();
$.response.setBody(JSON.stringify(result));
$.response.status = $.net.http.OK;
} catch (ex) {
$.response.setBody(ex.toString());
} finally {
if (conn) {
conn.close();
}
}
}
会得到帮助的
1条答案
按热度按时间fhity93d1#
这应该管用,只是检查一下:
我想你的问题是id没有用双引号(“),这很重要。
正如您所看到的,使用hdb连接处理sql查询变得更容易,而且希望更快,所以使用这个连接而不是db-link到hdb文档。
此外,使用调试器来调查这个问题(我听说在eclipse中调试xsjs文件有一些问题,但是我在intellij idea中没有问题)。是的,我猜你的
id
是唯一的,因此您只能/应该获得一行,然后stringify
仅限resultSet[0]
.