起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 13425|回复: 13

[结贴] KSQL substring截取字符串问题

[复制链接]

68

主题

213

帖子

700

积分

高级会员

Rank: 4

积分
700
QQ
发表于 2017-7-12 19:38:50 | 显示全部楼层 |阅读模式
版本: 其它(帖子中说明) 小版本号:
数据库: Oracle 服务器操作系统: Windows 应用服务器: Tomcat
客户端操作系统: Windows 其它 浏览器: Chrome
Bex5 V3.7 在使用KSQL编辑器时使用substring函数报错:select SA_OPPerson,SA_OPPerson.sName as sName,SA_OPPerson.sCode as sCode, substring(SA_OPPerson.sMobilePhone,-4,4) as sMobilePhone      from SA_OPPerson SA_OPPerson
手心输入法截图20170712193923538.jpg
控制台打印KSQL语句:

exec KSQL: select SA_OPPerson,SA_OPPerson.sName as sName,SA_OPPerson.sCode as sCode, substring(SA_OPPerson.sMobilePhone,-4,4) as sMobilePhone      from SA_OPPerson SA_OPPerson LIMIT 0, 50
  --> sql:SELECT  SA_OPPerson.sID, SA_OPPerson.SNAME AS sName, SA_OPPerson.SCODE AS sCode, SUBSTR(SA_OPPerson.SMOBILEPHONE, ?, ?) AS sMobilePhone FROM SA_OPPerson SA_OPPerson
--> binds:[-4, 4]



请问什么问题?谢谢

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35942
发表于 2017-7-13 09:42:06 | 显示全部楼层
不用看编辑器的错误,直接运行功能看看ksql是否正确
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

68

主题

213

帖子

700

积分

高级会员

Rank: 4

积分
700
QQ
 楼主| 发表于 2017-7-13 10:24:07 | 显示全部楼层
jishuang 发表于 2017-7-13 09:42
不用看编辑器的错误,直接运行功能看看ksql是否正确

附KSQL编辑器数据配置
手心输入法截图20170713102438111.jpg 手心输入法截图20170713102301837.jpg

这样运行后台出错:
com.justep.xbl.runtime.XBLException: 编码: JUSTEP001008; 提示: data[dialogData]的idColumn[SA_OPPerson]没有在select部分定义
        at com.justep.xbl.runtime.XBLException.create(Unknown Source)
        at com.justep.ui2.system.component.data.bizdata.BizDataDef.getIdColumn(Unknown Source)
        at BizData.getColDef(BizData.java:214)
        at BizData.processDataConfig(BizData.java:81)
        at Data.processData(Data.java:67)
        at Data.execute(Data.java:44)
        at com.justep.ui.component.ComponentEngine.processServerTemplate(Unknown Source)
        at com.justep.ui.component.ComponentEngine.parser(Unknown Source)
        at com.justep.ui.component.ComponentEngine.parser(Unknown Source)
        at com.justep.ui.component.ComponentEngine.parser(Unknown Source)
        at com.justep.ui.component.ComponentEngine.execute(Unknown Source)
        at com.justep.ui.WindowCompiler2.w2Middle(Unknown Source)
        at com.justep.ui.WindowCompiler2.compile(Unknown Source)
        at com.justep.ui.WindowServer2.compileWindow(Unknown Source)
        at com.justep.ui.WindowServer2.service(Unknown Source)
        at com.justep.ui.servlet.MainServlet.service(Unknown Source)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:723)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at com.justep.portal.filter.RedirectFilter.doFilter(Unknown Source)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:861)
        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:606)
        at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
        at java.lang.Thread.run(Thread.java:745)

回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35942
发表于 2017-7-13 11:09:27 | 显示全部楼层
把substring去掉就可以吗?
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

68

主题

213

帖子

700

积分

高级会员

Rank: 4

积分
700
QQ
 楼主| 发表于 2017-7-13 13:32:44 | 显示全部楼层
jishuang 发表于 2017-7-13 11:09
把substring去掉就可以吗?

去掉后完全正常
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35942
发表于 2017-7-13 14:38:35 | 显示全部楼层
本地测试设计器也没报错运行也正确啊
substring.png
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

68

主题

213

帖子

700

积分

高级会员

Rank: 4

积分
700
QQ
 楼主| 发表于 2017-7-13 17:17:08 | 显示全部楼层
jishuang 发表于 2017-7-13 14:38
本地测试设计器也没报错运行也正确啊

找到原因了,在substring()函数中,我是从后向前取的,使用的是负数substring(-4,4),现在改成正数从前向后取就可以了。substring的参数不能是负值吗?谢谢
回复 支持 反对

使用道具 举报

68

主题

213

帖子

700

积分

高级会员

Rank: 4

积分
700
QQ
 楼主| 发表于 2017-7-13 17:17:39 | 显示全部楼层
jishuang 发表于 2017-7-13 14:38
本地测试设计器也没报错运行也正确啊

找到原因了,在substring()函数中,我是从后向前取的,使用的是负数substring(-4,4),现在改成正数从前向后取就可以了。substring的参数不能是负值吗?谢谢
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35942
发表于 2017-7-13 17:35:14 | 显示全部楼层
substring是截取字符出串,字符串的索引是从0开始的
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

68

主题

213

帖子

700

积分

高级会员

Rank: 4

积分
700
QQ
 楼主| 发表于 2017-7-13 17:52:29 | 显示全部楼层
jishuang 发表于 2017-7-13 17:35
substring是截取字符出串,字符串的索引是从0开始的

好的谢谢,另外还有个问题:我在grid中数据修改并保存。我想记录哪些字段做了哪些修改,请问该怎么处理?
我现在是在saveAction的执行后事件进行截获,能截获到,但现在不知道怎么处理,请问我怎么取出row中 state=1的字段信息
001.jpg

public static void pprojreportProcessAfterSaveTab_Proj_ReportAction() {
                Table table = (Table) ContextHelper.getActionContext().getParameter("table");
                //获取修改的数据
                Iterator<Row> rows = table.iterator(ModifyState.EDIT);
                while(rows.hasNext()){
                        Row row = rows.next();
                        System.out.println("============"+row);
                        //下面不知道怎么操作了。。。。
                }
        }

002.jpg

回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2024-5-19 20:41 , Processed in 0.087293 second(s), 28 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表