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

QQ登录

只需一步,快速开始

楼主: tlkj

[结贴] ksql 提示没有from ???

[复制链接]

432

主题

1943

帖子

2630

积分

金牌会员

Rank: 6Rank: 6

积分
2630
QQ
 楼主| 发表于 2016-3-17 15:12:35 | 显示全部楼层
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35920
发表于 2016-3-17 15:25:49 | 显示全部楼层
  1.         public static Table queryBaobiao(java.sql.Date qian,java.sql.Date hou){
  2.                 String sql = "select zyq,xlzd,zongjixiu,xlzd-zongjixiu zongtuoche,zongxianlu,xianlujixiu,zongxianlu-xianlujixiu xianlutuoche,xlzd-zongxianlu zongzhandian,zongjixiu-xianlujixiu zhandianjixiu,xlzd-zongjixiu-(zongxianlu-xianlujixiu) zhandiantuoche from" +
  3.                                 " (select zong.zyq zyq,count(zong.xlzd)xlzd,count(zongjixiu.zongjixiu) zongjixiu,count(zongxianlu.zongxianlu)zongxianlu,count(xianlujixiu.xianlujixiu)xianlujixiu from" +
  4.                                 " (select xlzd xlzd,wgsj zongwgsj ,disp_id zongdisp_id ,zyq zyq from v_report where wgsj <= '"+hou+"' and wgsj >= '"+qian+"') zong" +
  5.                                 " left join (select qxjg zongjixiu,disp_id zongjixiudisp_id  from v_report where qxjg = '即修' and wgsj <= '"+hou+"' and wgsj >= '"+qian+"') zongjixiu on zong.zongdisp_id=zongjixiu.zongjixiudisp_id" +
  6.                                 " left join (select qxjg zongxianlu ,disp_id zongxianludisp_id  from v_report where xlzd = '线路抢修' and wgsj <= '"+hou+"' and wgsj >= '"+qian+"') zongxianlu on zong.zongdisp_id=zongxianlu.zongxianludisp_id" +
  7.                                 " left join ( select qxjg xianlujixiu,disp_id xianlujixiudisp_id from v_report where xlzd = '线路抢修' and qxjg = '即修' and wgsj <= '"+hou+"' and wgsj >= '"+qian+"')  xianlujixiu on zong.zongdisp_id=xianlujixiu.xianlujixiudisp_id group by zong.zyq)A";
  8.        
  9.                 HashMap<String,String> sqlMap = new HashMap<String,String>();
  10.                 sqlMap.put(SQL.DEFAULT_DB_NAME,sql);
  11.                
  12.                 return SQL.select(sqlMap,null,"/qx/qx/data");
  13.         }
复制代码
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



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

使用道具 举报

432

主题

1943

帖子

2630

积分

金牌会员

Rank: 6Rank: 6

积分
2630
QQ
 楼主| 发表于 2016-3-17 15:29:32 | 显示全部楼层
我的完整的过程是这样的
1.在sqlserver2008中写好了sql语句可以实现查询出一个表满足要求 但是没有加入需要的两个参数
   方法一 、我写成带有参数的function 二、我直接写成sql 在以后创建的action直接用
2.创建一个action 也添加了那两个时间参数 date类型 并且生成 以后 在代码那里开始写action
3.我的action是这样的        public static Table queryBaobiao(java.sql.Date qian,java.sql.Date hou){
                Map<String, Object> params = new HashMap<String, Object>();
                params.put("qian",qian);
                params.put("hou",hou);
               
//                String sql="select zyq,xlzd,zongjixiu,zongtuoche,zongxianlu,xianlujixiu,xianlutuoche,zongzhandian,zhandianjixiu,zhandiantuoche from SQL.queryMonthReport(:qian,:hou)";
               
                String sql= "select zyq,xlzd,zongjixiu,(xlzd-zongjixiu) zongtuoche,zongxianlu,xianlujixiu,(zongxianlu-xianlujixiu) xianlutuoche,(xlzd-zongxianlu) zongzhandian,(zongjixiu-xianlujixiu) zhandianjixiu,(xlzd-zongjixiu-(zongxianlu-xianlujixiu)) zhandiantuoche"
                                +" from "
                                +"(select zong.zyq zyq,count(zong.xlzd) xlzd,count(zongjixiu.zongjixiu) zongjixiu,count(zongxianlu.zongxianlu) zongxianlu,count(xianlujixiu.xianlujixiu) xianlujixiu "
                                +"from "
                                +"(select xlzd xlzd,wgsj zongwgsj ,disp_id zongdisp_id ,zyq zyq from v_report where wgsj <= :hou and wgsj >= :qian) zong "
                                +"left join "
                                +"(select qxjg zongjixiu,disp_id zongjixiudisp_id  from v_report where qxjg = '即修' and wgsj <= :hou and wgsj >= :qian) zongjixiu "
                                +"on zong.zongdisp_id=zongjixiu.zongjixiudisp_id "
                                +"left join "
                                +"(select qxjg zongxianlu ,disp_id zongxianludisp_id  from v_report where xlzd = '线路抢修' and wgsj <= :hou and wgsj >= :qian) zongxianlu "
                                +"on zong.zongdisp_id=zongxianlu.zongxianludisp_id "
                                +"left join "
                                +"( select qxjg xianlujixiu,disp_id xianlujixiudisp_id from v_report where xlzd = '线路抢修' and qxjg = '即修' and wgsj <= :hou and wgsj >= :qian)  xianlujixiu "
                                +"on zong.zongdisp_id=xianlujixiu.xianlujixiudisp_id "
                                +"group by zong.zyq) A";
               
                Table table = KSQL.select(sql, params, "/qx/qx/data", null);

                return table;
        }
用了这两种调用sql方法 但是好像都不行 都是执行ksql出错
----------------------------------------
3.在process中添加动作设置 并且添加了那两个参数
4.在。w文件的reportdata的resource中选择了 这个action
5.在js中给这两个变量赋值 我的语句是这样的        var date1=this.comp('input1').val();
        var date2=this.comp('input2').val();

        this.comp('reportData1').setDateVar("qian",date1);   ///从input中读取日期并查询
        this.comp('reportData1').setDateVar("hou",date2);  ////赋值是datetime类型的
------------------------------
这就是我的所有步骤了 但是怎么不行呢  
回复 支持 反对

使用道具 举报

432

主题

1943

帖子

2630

积分

金牌会员

Rank: 6Rank: 6

积分
2630
QQ
 楼主| 发表于 2016-3-17 15:30:06 | 显示全部楼层
我是不是少了什么代码
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35920
发表于 2016-3-17 15:37:02 | 显示全部楼层
1.看我上面发的java代码
2.js中设置了参数后要调用report的refresh()
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



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

使用道具 举报

432

主题

1943

帖子

2630

积分

金牌会员

Rank: 6Rank: 6

积分
2630
QQ
 楼主| 发表于 2016-3-17 15:39:20 | 显示全部楼层
谢谢你 你的代码是正确的  可是你能告诉我 我的为什么不对吗 多谢多谢多谢
回复 支持 反对

使用道具 举报

432

主题

1943

帖子

2630

积分

金牌会员

Rank: 6Rank: 6

积分
2630
QQ
 楼主| 发表于 2016-3-17 15:39:29 | 显示全部楼层
谢谢你 你的代码是正确的  可是你能告诉我 我的为什么不对吗 多谢多谢多谢
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35920
发表于 2016-3-17 15:42:24 | 显示全部楼层
写的是sql,要应SQL.select去执行,不能用KSQL.select去执行
而且不是简单的把KSQL.select改为SQL.select就可以的,看我发的
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



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

使用道具 举报

432

主题

1943

帖子

2630

积分

金牌会员

Rank: 6Rank: 6

积分
2630
QQ
 楼主| 发表于 2016-3-17 15:49:12 | 显示全部楼层
如果我想用sqlserver的函数的话 那个应该怎么做呢
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35920
发表于 2016-3-17 15:54:28 | 显示全部楼层
平台提供的没有直接调用数据库函数的,你可以到网上查java中标准的调用函数的如何实现
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-7 10:21 , Processed in 0.107486 second(s), 20 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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