概述
建了的一个存储过程,需要传 DATE 类型的参数: 如下:
PROCEDURE Synchronous_OrdersInfo_Data(start_date IN DATE,end_date IN DATE)
·········
在java代码中如下调用(时间类型为java.sql.Date),即使数据库有数据,不能正确返回结果集:
public Object doInCallableStatement(CallableStatement cs) throws SQLException, DataAccessException {
//………………
cs.setDate(3, new java.sql.Date(kssj.getTime()));
cs.setDate(4, new java.sql.Date(jssj.getTime()));
//………………
}
因为使用cs.setDate()给数据库传参数只会日期部分,所以上面的方法会导致 “类型错误”。
应该改用一下方法传参:
cs.setTimestamp(3, new java.sql.Timestamp(dKssj.getTime()));
cs.setTimestamp(4, new java.sql.Timestamp(dJssj.getTime()));
cs.setTimestamp()可以将日期和时间部分都传给数据库。
这样就解决了,呵呵
最后
以上就是腼腆摩托为你收集整理的java 存储过程 date_java调用存储过程 中DATE参数的处理的全部内容,希望文章能够帮你解决java 存储过程 date_java调用存储过程 中DATE参数的处理所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复