【发布时间】:2014-03-06 06:52:41
【问题描述】:
我正在调用数据库中的存储过程。 它的两个参数需要sql日期格式的日期和时间。
String x = new SimpleDateFormat("MM-dd-yyyy").format(new Date()) + " 00:00:00 AM";
String y = new SimpleDateFormat("MM-dd-yyyy").format(new Date()) + " 11:59:00 PM";
Date fromDate = null;
Date toDate = null;
try {
fromDate = new SimpleDateFormat("MM-dd-yyyy HH:mm:ss a").parse(x);
toDate = new SimpleDateFormat("MM-dd-yyyy HH:mm:ss a").parse(y);
} catch (ParseException ex) {
}
CallableStatement proc_stmt = con.prepareCall("{ call someproc(?,?) }");
proc_stmt.setDate(1, (java.sql.Date) fromDate);
proc_stmt.setDate(2, (java.sql.Date) toDate);
我相信如果我只发送日期(不包括时间),代码可以工作,但它对我没有用,因为数据库不会生成正确的结果。 当我运行上面的代码时,我得到了
ClassCastException:java.util.Date cannot be cast to java.sql.Date
有什么办法吗?
【问题讨论】:
-
将其转换为 java.sql.Date 格式并记录以查看转换是否正确