這是查詢方法://通過出發(fā)地、目的地、發(fā)車日期 查詢車次 public List<Train> queryAll(String toAddress,String fromAddress,Date startDate){ String sql ="select * from tts_traininfo where toAddress like ? and fromAddress like ? and startDate like TO_DATE(?,'yyyy-mm-dd hh24:mi:ss')"; List<Train> list = new ArrayList<>(); Connection conn = DBConnection.getConnection(); try { PreparedStatement pstm = conn.prepareStatement(sql); pstm.setString(1, "%" + toAddress + "%"); pstm.setString(2, "%" + fromAddress + "%"); pstm.setString(3, "%" + startDate + "%"); ResultSet rs = pstm.executeQuery(); if (rs.next()) { Train train = new Train(rs.getInt(1), rs.getString(2), rs.getString(3), rs.getString(4), rs.getDate(5), rs.getDate(6), rs.getDouble(7)); list.add(train); } } catch (SQLException e) { e.printStackTrace(); } return list; }這是測試方法: @Test public void queryAll() { Scanner sc = new Scanner(System.in); System.out.println("請輸入出發(fā)地:"); String toAddress = sc.nextLine(); System.out.println("請輸入目的地:"); String fromAddress = sc.nextLine(); System.out.println("請輸入發(fā)車日期:"); String sDate = sc.nextLine(); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-mm-dd"); Date date; try { date = sdf.parse(sDate); Date startDate = new java.sql.Date(date.getTime()); System.out.println(startDate); List<Train> list = tot.queryAll(toAddress, fromAddress, startDate); System.out.println(list); list.forEach((item) -> { System.out.println( item.getId() + "," + item.getTrainId() + "," + item.getToAddress() + "," + item.getFromAddress() + "," + item.getStartDate() + "," + item.getStartTime() + "," + item.getFares()); }); } catch (ParseException e) { e.printStackTrace(); } }輸入目的地、出發(fā)地、還有時間后 報錯請輸入出發(fā)地:北京請輸入目的地:上海請輸入發(fā)車日期:2018-06-082018-01-08java.sql.SQLDataException: ORA-01841: (完整) 年份值必須介于 -4713 和 +9999 之間, 且不為 0求大神解決?。?! 急急急急?。?!
添加回答
舉報
0/150
提交
取消