我的代码现在似乎按预期工作,我似乎无法理解为什么。我试图用anotherDate + 14更新数据库中的日期。问题是所有更新的日期都具有相同的值。当我尝试调试它时代码工作,但我在db中得到了不同的代码结果。 这是代码:
String query="SELECT issueTime from issue";
ResultSet rs=DatabaseHandler.getInstance().execQuery(query);
try {
while(rs.next()){
java.sql.Date dbTime=rs.getDate("issueTime");
java.sql.Date initialDBTime=dbTime;
java.util.Date utilDate = new java.util.Date(dbTime.getTime());
Calendar cal=Calendar.getInstance();
cal.setTime(utilDate);
cal.add(Calendar.DATE,14);
utilDate= cal.getTime();
dbTime=new java.sql.Date(utilDate.getTime());
System.out.println("return date " + dbTime+ " Initial db time " + initialDBTime);
String qu = "UPDATE issue SET return_date=? WHERE issueTime = ?";
PreparedStatement pstmt=DatabaseHandler.getInstance().getConnection().prepareStatement(qu);
pstmt.setDate(1,dbTime);
pstmt.setDate(2, initialDBTime);
pstmt.executeUpdate();
数据库结果:
更新:发现问题,我只从表中选择了issueTime。 改变了:
String query="SELECT * from issue";
感谢您的帮助。