XSJS-具有输入参数的数据库表选择语句

2020-09-16 19:39发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)大家好, 我是XSJS的新...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


大家好,

我是XSJS的新手,我正尝试学习它。.我仔细阅读了《参考指南》,但是发现很难在具有输入参数的db表上找到select语句的语法以及如何调用它 Web浏览器中的XSJS。 我正在使用以下代码,并将其保存/激活为customer.XSJS

尝试{
 $ .response.contentType ="文本/html";
 var output =" Hello," + $ .session.getUsername()+" 

"; var conn = $ .db.getConnection(); var id = $ .request.parameters.get(" id"); var query ="从中选择MTART。.MARAWHERE MATNR之类的?"; var pstmt = conn.prepareStatement(query); pstmt.setString(1,"'%" + id +"%'"); var rs = pstmt.executeQuery(); 如果(!rs.next()){ $ .response.setBody("无法检索数据"); $ .response.status = $ .net.http.INTERNAL_SERVER_ERROR; } 其他{ 输出=输出+"这是材料编号为" + rs.getString(1); } rs.close(); pstmt.close(); conn.close(); $ .response.setBody(output); } 抓住(e){ $ .response.status = $ .net.http.INTERNAL_SERVER_ERROR; $ .response.setBody(e.message); }

并且当我执行链接(http://<服务器名称>/<包装名称>/customer.xsjs?id= )时,我只是得到"你好,<用户名>。我没有 即使数据库中有一个条目,也可以获取If语句的" ELSE"部分的结果。

当我修改没有输入参数的XSJS并运行它时,我得到了输出。 只是带有输入参数的XSJS不能给我结果。


4条回答
宇峰Kouji
2020-09-16 20:05 .采纳回答

嗨,

在为准备好的语句设置参数时,不必使用单引号将包含"%"符号的id值括起来。

您必须使用单引号将其删除:

 pstmt.setString(1,"%" + id +"%")

致谢,
弗洛里安

PS:通常,您应该考虑使用新的$ .hdb数据库接口而不是旧版接口$ .db。

一周热门 更多>