Jfinal在进行数据库操作时出现时间字段错误

mawenasuka 发布于 2016/01/21 16:05
阅读 732
收藏 0

@JFinal 你好,想跟你请教个问题:有一个跟让人不解的问题,我用的是sqlserver,数据库中只有一条数据。无论用分页还是普通查询,日期都会出错。

经测试:

根据其他字段查询,能够查询出结果,但是日期对象错误,且固定为1月19号

根据日期字段查询,结果同上

将查询条件修改成错误的,查询结果为空

代码如下

String sql="select * from dbo.presentApply where trackingNum='"+trcNum+"'";


  List<Record> presentApplyList=Db.find(sql);

执行后的结果直接就是错误的 ,只有日期字段是错误的,其他都是对的,数据库用的date字段

加载中
0
JFinal
JFinal
   具体什么错误,建议这么弄:Db.find("select * from dbo.presentApply where trackingNum=?", trcNum);
JFinal
JFinal
回复 @mawenasuka : jfinal 是否支持一个用法,还要看jdbc本身是否支持,市面上几乎所有的ORM框架都是基于 jdbc 的封装,记得搞定后回来再反馈分享一下
m
mawenasuka
回复 @JFinal : 感谢您的帮助,我先试试看。初步试验的结果,sqlserver2014 如果使用date就会出问题,如果字段类型是dateTime就正常
JFinal
JFinal
回复 @mawenasuka : 这样吧,你在一个 action 中使用 Db.getConfig().getConnection() 获取到一个 Connection 对象,然后用纯 jdbc 的方式查询一次,看结果如何? 我估计是 jdbc 对你的支持就不对了,而 jfinal 是依赖于 jdbc 的
m
mawenasuka
这张表里面只有一条数据,日期是今天。无论怎么查询其他字段都是对的,只有applyDate字段是错误的,而且这个字段还一直被锁定在同一个日期,DB.find以后直接debug查询出来的就是错误的时间
m
mawenasuka
这个问题不太好描述,实际上并没有报错 不管用何种方法,只要Db.find,查询出来的对象中time字段必然锁定成2016/01/19
返回顶部
顶部