我必須從PostgreSQL數據庫中獲得與給定標題和發佈日期相匹配的影片。 標題是一個字符(75),releaseDate是一個日期。我有這樣的代碼:Date,preparedStatement,JDBC和PostgreSQL的問題
String query = "SELECT * FROM \"Movie\" WHERE title = ? AND \"releaseDate\" = ?)";
Connection conn = connectionManager.getConnection();
PreparedStatement stmt = conn.prepareStatement(query);
java.sql.Date date = new java.sql.Date(releaseDate.getTime());
stmt.setString(1, title);
stmt.setDate(2, date);
ResultSet result = stmt.executeQuery();
但它不工作,因爲releaseDate不匹配時它應該。 查詢SELECT * FROM "Movie" WHERE title = A_MOVIE AND "releaseDate"
= A_DATE在使用psql的命令shell中完美工作
如果'releaseDate'是'java.sql.Date',爲什麼它調用'的setDate()'之前複製到'date'? – trashgod 2010-04-03 04:07:42
不是java.sql.Date是java.util.Date – GuidoMB 2010-04-03 04:10:28
'releaseDate'的確切SQL列類型是什麼?它真的是'約會'嗎?還有'時間戳'。你使用哪種PostgreSQL數據庫版本和JDBC驅動程序版本?啊哈! – BalusC 2010-04-03 04:11:05