2015-06-09 23 views
0

我特林兩個不同的時間戳之間從數據庫中選擇所有的值之前的日期格式圖象結束值java.sql.SQLException:ORA-01830:轉換整個輸入串

<form action="index.jsp" METHOD="POST" > 
    <table border="2" style="border-collapse: collapse;"> 
     <tr> 
     <td>SELECT THE TO DATE</td><td><input name="dt" type="text" id="datepicker" readonly="readonly" size="20"/></td> 
     <td >SELECT FROM DATE </td><td><input name="dt1" type="text" id="datepicker2" readonly="readonly" size="20"/></td> 
     </tr> 
     <tr><td colspan="4"><input type="submit" value="SAVE"><td></tr> 
    </table> 
</form> 

這是我在哪裏第二頁重新獲得價值。

 String Date1=request.getParameter("dt"); 
     SimpleDateFormat sdf = new SimpleDateFormat("dd-MMM-yyyy"); 
     java.util.Date date = sdf.parse(Date1); 
     java.sql.Timestamp sqlStartDate = new java.sql.Timestamp(date.getTime());//2015-04-26 00:00:00.0 

     String Date2=request.getParameter("dt1"); 
     java.util.Date date1=sdf.parse(Date2); 
     java.sql.Timestamp sqlEndDate = new java.sql.Timestamp(date1.getTime());//2015-06-26 00:00:00.0 

     Class.forName("oracle.jdbc.driver.OracleDriver"); 
     Connection con = DriverManager.getConnection("jdbc:oracle:thin:@localhost:xe", "RCC", "[email protected]"); 

     PreparedStatement pst=con.prepareStatement("Select * from TBLTENDERS where TSTATUSDATE between (TO_TIMESTAMP(?,'dd-mm-yyyy')) and (TO_TIMESTAMP(?,'dd-mm-yyyy'))"); 
     pst.setTimestamp(1, sqlStartDate); 
     pst.setTimestamp(2,sqlEndDate); 
     ResultSet rest=pst.executeQuery(); 

我收到錯誤的查詢說:「值java.sql.SQLException:ORA-01830:轉換整個輸入字符串之前的日期格式的圖片結束」。所以任何人都可以幫助我查詢。從查詢

+0

您的參數已經是一個時間戳。爲什麼你試圖再次轉換? – Jens

+0

@Jens謝謝你的工作 – User

回答

1

刪除TO_TIMESTAMP,因爲你的參數是媒體鏈接時間戳:

PreparedStatement pst=con.prepareStatement("Select * from TBLTENDERS where TSTATUSDATE between ? and ?");