|

楼主 |
发表于 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类型的
------------------------------
这就是我的所有步骤了 但是怎么不行呢 |
|