把我費了半個小時解決的垃圾問題寫下來.
用JDBC時,PreparedStatement就會用到set()方法,但set進去的則是java.sql.Date類型,而不是java.util.Date類型,問題就出來了,比如當你set進去一個時間(假設時間2006-12-18 15:43:23),如下:
?java.sql.Date today = new java.sql.Date(); |
我要查在這個時間以前的數據,可結果卻返回了17號以前的結果,
在數據庫里查也是沒有問題的,但問題出在什么地方呢?后來找到的答案就是:通過這種方式java.sql.Date會省略小時/分/秒,轉成的SQL會默認為
2006-12-18 00:00:00,認為是查
2006-12-18 00:00:00之前的結果.就這樣才造成了這次頭痛的事件,而這一代碼還不是本人所寫,看別人的代碼真是累!
最后只好在時間上加1天,否則就需要用字符串比較.不知道還有其他方法沒?
posted on 2006-12-18 18:49
Warren.Wu 閱讀(248)
評論(0) 編輯 收藏