关于prepareStatement带日期参数的问题
public List<News> searchAllNews() {
List<News> list=new ArrayList<News>();
conn=super.getConnection();
String sql="select * from(select rownum as r,t.* from " +
"(select * from easybuy_news order by en_create_time desc )" +
"t where rownum<=10)where r>0";
try {
ps=conn.prepareStatement(sql);
rs=ps.executeQuery();
if(rs.next()){
News n=new News();
n.setId(rs.getInt(1));
n.setTitle(rs.getString(2));
n.setContent(rs.getString(3));
n.setTime(rs.getDate(4));
list.add(n);
}
super.allClose(rs, ps, conn);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return list;
}
}
为什么运行的时候一直报n.setTime(rs.getDate(4))这句的错,难道这样写不正确么?
java.lang.IllegalArgumentException
java.sql.Date.valueOf(Date.java:103)
oracle.jdbc.driver.CharCommonAccessor.getDate(CharCommonAccessor.java:413)
oracle.jdbc.driver.OracleResultSetImpl.getDate(OracleResultSetImpl.java:743)
org.apache.tomcat.dbcp.dbcp.DelegatingResultSet.getDate(DelegatingResultSet.java:244)
org.apache.tomcat.dbcp.dbcp.DelegatingResultSet.getDate(DelegatingResultSet.java:244)
com.yimai.dao.impl.NewsDaoOraImpl.searchAllNews(NewsDaoOraImpl.java:31)
com.yimai.biz.impl.NewsBizImpl.searchAllNews(NewsBizImpl.java:13)
com.yimai.web.NewsServlet.doGet(NewsServlet.java:15)
javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)