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

QQ登录

只需一步,快速开始

查看: 7032|回复: 12

[结贴] 数据类型不一致

[复制链接]

84

主题

451

帖子

1437

积分

金牌会员

Rank: 6Rank: 6

积分
1437
QQ
发表于 2016-2-5 03:01:40 | 显示全部楼层 |阅读模式
版本: BeX5V3.1 小版本号:
数据库: MS SQLServer 服务器操作系统: 应用服务器:
客户端操作系统: 其它(帖子中说明) 浏览器:

Bex5.321 开发手机应用,数据库Sql server。
新建了一个表,表里有个Date字段

select fleavealldate from ss_leaveapprchild
.....
查询后用getDate(0)取出这个日期。

                        String mssql = "select fleavealldate from ss_leaveapprchild where fleaverID = '"+personID+"'";
                        HashMap<String,String> sqlMap = new HashMap<String,String>();
                        sqlMap.put(SQL.DEFAULT_DB_NAME,mssql);
                        Table table = SQL.select(sqlMap, null, dataModel);
                        Date tmpdate = new Date();
                        for(Iterator<?> it1 = table.iterator(); it1.hasNext();){
                                Row r1 = (Row) it1.next();
                                tmpdate = r1.getDate(0);

。。。。。。。

但app或者PC访问系统,这个getDate方法就出错,后台报错:

java.lang.reflect.InvocationTargetException
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl
java:57)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcce
sorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:606)
        at com.justep.system.action.Engine.invokeActions(Native Method)
        at com.justep.system.action.Engine.invokeActions(Unknown Source)
        at com.justep.business.server.BusinessServer.doAction(Unknown Source)
        at com.justep.business.server.BusinessServer.doExcute(Unknown Source)
        at com.justep.business.server.BusinessServer.excute(Unknown Source)
        at com.justep.business.server.BusinessServer.excute(Unknown Source)
        at com.justep.business.server.BusinessServerServlet.execService(Unknown
Source)
        at com.justep.business.server.BusinessServerServlet.service(Unknown Sou
ce)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:723)
        at com.justep.x.bs.BusinessServerServlet.service(Unknown Source)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:723)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(App
icationFilterChain.java:290)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(Application
ilterChain.java:206)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapper
alve.java:233)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContext
alve.java:191)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.
ava:127)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.
ava:103)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineVa
ve.java:109)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.ja
a:293)
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.jav
:861)
        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.proc
ss(Http11Protocol.java:606)
        at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:4
9)
        at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.RuntimeException: 编码: JUSTEP150138; 提示: 列" fleavealldate"的类型不一致, 定义的类型是"String", 当前给出的是"Date"
        at PhysicalMOA.LeaveDateRepeatCheck(PhysicalMOA.java:290)
        ... 27 more



查了数据库,字段类型没错,数据库中也存的日期,换了getValue(0)方法也不行,同样的出错信息。

请帮忙看看!



0

主题

742

帖子

947

积分

高级会员

Rank: 4

积分
947
发表于 2016-2-5 08:46:41 来自手机 | 显示全部楼层
调试下代码看看
回复 支持 反对

使用道具 举报

84

主题

451

帖子

1437

积分

金牌会员

Rank: 6Rank: 6

积分
1437
QQ
 楼主| 发表于 2016-2-5 11:54:49 | 显示全部楼层
lvsazf 发表于 2016-2-5 08:46
调试下代码看看

就是到这句就出错啊,数据库字段没有什么问题,很奇怪。
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35942
发表于 2016-2-14 09:34:01 | 显示全部楼层
用getvalue取值,然后转换类型看看
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



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

使用道具 举报

84

主题

451

帖子

1437

积分

金牌会员

Rank: 6Rank: 6

积分
1437
QQ
 楼主| 发表于 2016-2-16 10:58:47 | 显示全部楼层
jishuang 发表于 2016-2-14 09:34
用getvalue取值,然后转换类型看看

不行,换成getvalue,这一句也是出错。查询语句在SQLServer上查没有问题,不知道什么原因就是出错!
回复 支持 反对

使用道具 举报

84

主题

451

帖子

1437

积分

金牌会员

Rank: 6Rank: 6

积分
1437
QQ
 楼主| 发表于 2016-2-16 11:00:36 | 显示全部楼层
jishuang 发表于 2016-2-14 09:34
用getvalue取值,然后转换类型看看

不行,换成getvalue,这一句也是出错。查询语句在SQLServer上查没有问题,不知道什么原因就是出错!
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35942
发表于 2016-2-17 14:00:50 | 显示全部楼层
SimpleDateFormat sDateFormat = new SimpleDateFormat("yyyy-MM-dd hh:mm");
                  String date =  sDateFormat.format(row.getDateTime("fRQSJ"));
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



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

使用道具 举报

84

主题

451

帖子

1437

积分

金牌会员

Rank: 6Rank: 6

积分
1437
QQ
 楼主| 发表于 2016-2-18 11:41:50 | 显示全部楼层
jishuang 发表于 2016-2-17 14:00
SimpleDateFormat sDateFormat = new SimpleDateFormat("yyyy-MM-dd hh:mm");
                  String date =  sDateFo ...

现在问题是不管getdatetime.还是getdate,getvalue,这一句就是出错,说什么列"fleavealldate"的类型不一致, 定义的类型是"String", 当前给出的是"DateTime"。
数据库里设计是date型,查询sql没问题,奇怪,要不远程一下!!!
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35942
发表于 2016-2-18 14:29:20 | 显示全部楼层
Date tmpdate = new Date();
                        for(Iterator<?> it1 = table.iterator(); it1.hasNext();){
                                Row r1 = (Row) it1.next();
                                tmpdate = r1.getDate(0);

把红色的定义为Date的去掉,直接用getValue获取也会报错?
getValue取值是不会判断类型的
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



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

使用道具 举报

84

主题

451

帖子

1437

积分

金牌会员

Rank: 6Rank: 6

积分
1437
QQ
 楼主| 发表于 2016-2-18 16:53:18 | 显示全部楼层
jishuang 发表于 2016-2-18 14:29
Date tmpdate = new Date();
                        for(Iterator it1 = table.iterator(); it1.hasNext( ...

明白了,用getValue取出来变成字符串,再转化为日期,不能直接付值给日期变量。
谢谢jishuang,说一下原理就更清楚了。
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-18 13:31 , Processed in 0.075267 second(s), 25 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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