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

QQ登录

只需一步,快速开始

查看: 9015|回复: 10

[处理中] ksql中使用datetime参数

[复制链接]

432

主题

1943

帖子

2630

积分

金牌会员

Rank: 6Rank: 6

积分
2630
QQ
发表于 2015-7-31 17:17:41 | 显示全部楼层 |阅读模式
UI层给dateF赋值:params.setDate("dateF", tempData.val('dateF'));
BIZ层作为查询条件:params.put("dateF", dateF);
报错:Date转换异常
另外:如何判断dateF是否为空,在sql语句中怎么用(a.XDSJ是datetime类型的)
if(dateF!=null || !dateF.trim().isEmpty()){
                        sql +=        " a.XDSJ>:dateF and";
                }

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36064
发表于 2015-7-31 17:29:05 | 显示全部楼层
js中获取data值后要转换一下才能给Date赋值
var  data2 = this.comp("data2");
     var date = data2.getValue("fDate");
stringtoDate('"+date+"')

判断是否为空这个就是java标准的,可以到网上查找相关的资料
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



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

使用道具 举报

432

主题

1943

帖子

2630

积分

金牌会员

Rank: 6Rank: 6

积分
2630
QQ
 楼主| 发表于 2015-8-3 09:19:45 | 显示全部楼层
stringtoDate('"+date+"')是什么意思,没有明白,怎么转换?
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36064
发表于 2015-8-3 09:23:06 | 显示全部楼层
tlkj 发表于 2015-8-3 09:19
stringtoDate('"+date+"')是什么意思,没有明白,怎么转换?

var date = tempData.val('dateF');
var dateF = stringtoDate('"+date+"')
params.setDate("dateF", dateF );
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



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

使用道具 举报

432

主题

1943

帖子

2630

积分

金牌会员

Rank: 6Rank: 6

积分
2630
QQ
 楼主| 发表于 2015-8-3 09:36:03 | 显示全部楼层
jishuang 发表于 2015-8-3 09:23
var date = tempData.val('dateF');
var dateF = stringtoDate('"+date+"')
params.setDate("dateF", da ...

D:\1.png
回复 支持 反对

使用道具 举报

432

主题

1943

帖子

2630

积分

金牌会员

Rank: 6Rank: 6

积分
2630
QQ
 楼主| 发表于 2015-8-3 09:49:36 | 显示全部楼层
用了你教的方法,报错。
1.png
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36064
发表于 2015-8-3 10:00:14 | 显示全部楼层
js中应该是
var date = tempData.val('dateF');
params.setDateVar("dateF", justep.Date.fromString(date , 'yyyy-MM-dd'));
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



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

使用道具 举报

432

主题

1943

帖子

2630

积分

金牌会员

Rank: 6Rank: 6

积分
2630
QQ
 楼主| 发表于 2015-8-3 10:23:26 | 显示全部楼层
那biz层应该怎么写呢?我是如下写的
赋值
Map<String, Object> params = new HashMap<String, Object>();
params.put("dateF", dateF);


sql中使用
searchStr += " a.XDSJ>:dateF
(a.XDSJ的类型是datetime)


运行报错:String index out of range: 35


请问biz层如何写
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36064
发表于 2015-8-3 10:26:58 | 显示全部楼层
把java中的代码完整发一下
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



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

使用道具 举报

432

主题

1943

帖子

2630

积分

金牌会员

Rank: 6Rank: 6

积分
2630
QQ
 楼主| 发表于 2015-8-3 10:59:32 | 显示全部楼层
Map<String, Object> params = new HashMap<String, Object>();
                params.put("dateF", dateF);
                params.put("cardId", cardId);
            params.put("dateF", dateF);
            params.put("dateT", dateT);
                params.put("mealType", mealType);
                params.put("orderStatus", orderStatus);
                params.put("mealTime", mealTime);
                params.put("orderId", orderId);

                String sql = "select a.DDBH,a.XDSJ,a.XM from DC_DDB a";

                String searchStr = "";
                if (cardId != null && !cardId.trim().isEmpty()) {
                        searchStr += " a.YGKH=:cardId and";
                }
                // if(dateF !=null && !dateF.trim().isEmpty()){
                        searchStr += " a.XDSJ>:dateF and";
                // }
                if (mealType != null && !mealType.trim().isEmpty()) {
                        searchStr += " a.DDLX=:mealType and";
                }
                if (orderStatus != null && !orderStatus.trim().isEmpty()) {
                        searchStr += " a.DDZT=rderStatus and";
                }
                if (mealTime != null && !mealTime.trim().isEmpty()) {
                        searchStr += " a.CCBH=:mealTime";
                }
                if (!searchStr.isEmpty()) {
                        searchStr = " where" + searchStr;
                        if (searchStr.endsWith(" and")) {
                                searchStr = searchStr.substring(0, sql.length() - 4);
                        }
                }

                System.out.println(sql + searchStr);
                Table ddbTable = KSQL.select(sql + searchStr, params, "/BJBusWYST/scj/data", null);
                return ddbTable;

回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-21 20:22 , Processed in 0.058079 second(s), 26 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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