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

2020-09-16 19:39发布

         点击此处--->   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不能给我结果。


         点击此处--->   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
1楼 · 2020-09-16 20:05.采纳回答

嗨,

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

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

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

致谢,
弗洛里安

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

代楠1984
2楼-- · 2020-09-16 20:02

如果您只是在学习XSJS,我是否建议您 openSAP hana课程。 这些课程中有一些基本的练习来教授此类语法。

天桥码农
3楼-- · 2020-09-16 20:13

嗨,托马斯,

谢谢你的建议。 当我在OpenSAP中搜索XSJS时,我发现了有关SAP HANA上的软件开发的讲座(Delta SPS 09,重复),其中谈到了XSJS,XSODATA的新功能。 我不确定您是否在讨论XSJS的基础知识。

如果有机会,您知道我需要订阅哪门课程才能了解有关XSJS的更多信息。

感谢弗洛里安。 现在可以正常工作。

一周热门 更多>