日期:2014-05-18  浏览次数:20772 次

紧急求救~~在jsp页面中,把日期插入oracle中的问题~~
String   now_Date= "2007/09/20   11:19:37 ";

Connection   conn=null;
Statement   stmt=null;
PreparedStatement   pstmt=null;

sql= "INSERT   INTO   DATE   1(CREATE_TIME)   VALUES   (?) "
pstmt=conn.prepareStatement(sql);
pstmt.setString(1, " "+now_Date+ " ");

其中CREATE_TIME为DATE,
出错:java.sql.SQLException:   ORA-01861:   literal   does   not   match   format   string  

请问在这个代码上如何改~~帮帮忙忙~~

------解决方案--------------------
pstmt.setString(1, " "+now_Date+ " ");
你是DATE型set成string也可以??
------解决方案--------------------
Date now_Date=new Date();

Connection conn=null;
Statement stmt=null;
PreparedStatement pstmt=null;

sql= "INSERT INTO DATE 1(CREATE_TIME) VALUES (?) "
pstmt=conn.prepareStatement(sql);
pstmt.setString(1, " "+now_Date+ " ");
试试。
------解决方案--------------------
这样搞绝对不好,即使可以进去也非常不规范,建议最好直接stmt.setDate(now),或者
sql= "INSERT INTO DATE 1(CREATE_TIME) VALUES (to_date(?, 'yyyyMMdd ')) ";
String sDate = Format(now, "yyyyMMdd ");
smtp.setString(1, sDate);
------解决方案--------------------
因为你setString 与你那Date型不一致 转化一下

------解决方案--------------------
怎么不行了?
你就以string的方式存就可以了
SimpleDateFormat sdf=new SimpleDateFormat( "yyyy-MM-dd hh:mm:ss ");
String new_date = sdf.format(new Date());
pstmt.setString(1,new_date);