我通过可调用语句将OAF页面中的日期传递给SQL数据库。我看了很多解决办法,但还是没有成功。这就是我写的。
OAMessageDateFieldBean validFrom =(OAMessageDateFieldBean)webBean.findIndexedChildRecursive("VaidFrom");
String getValidFrom = validFrom.getValue(pageContext).toString();
SimpleDateFormat formatter = new SimpleDateFormat("DD/MM/YYYY");
System.out.println("Formatter Executed " + formatter);
Date dateValidFrom ;
dateValidFrom = null;
java.sql.Date sqlDate = null;
try {
System.out.println("Formatter Date Valid from "+formatter.parse(getValidFrom));
dateValidFrom = (java.sql.Date)formatter.parse(getValidFrom);
sqlDate = new java.sql.Date(dateValidFrom.getTime());
System.out.println("SQL date is "+sqlDate);
}catch (Exception e){
System.out.println("------ "+e);
}
callableStatement.setDate(3, sqlDate);我试着调试它,我认为在(java.sql.Date)formatter.parse(getValidFrom); = dateValidFrom中出现了错误
它显示的错误是- java.lang.ClassCastException: java.util.Date不能转换为java.sql.Date。
我已经用“日期选择器”把日期取到地里了。存储在字符串中的值为
2017-05-01 00:00:00.0在使用SimpleDateFormat之后出现的值是-
Mon Dec 05 00:01:00 IST 2016请帮帮忙。提亚
发布于 2017-05-02 09:56:48
不要在dateValidFrom中转换java.sql.Date,因为formatter.parse返回java.util.Date
试着做这样的事:
java.util.Date dateValidFrom = formatter.parse(getValidFrom);
java.sql.Date sqlDate = new java.sql.Date(dateValidFrom.getTime());https://stackoverflow.com/questions/43734613
复制相似问题