Je dois obtenir un film à partir d'une base de données PostgreSQL qui correspond à un titre et une date de publication donnés. title est un caractère (75) et releaseDate est une date. Je possède ce code:Problèmes avec Date, preparedStatement, JDBC et 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();
mais cela ne fonctionne pas parce que le ReleaseDate ne correspond pas à quand il faut. La requête SELECT * FROM "Movie" WHERE title = A_MOVIE AND "releaseDate"
= A_DATE fonctionne parfaitement sur une coquille de commande en utilisant psql
Si 'releaseDate' est un' java.sql.Date', pourquoi copier à '' date' avant d'appeler setDate() '? – trashgod
n'est pas java.sql.Date est java.util.Date – GuidoMB
Quel est le type exact de colonne SQL de 'releaseDate'? Est-ce vraiment «date»? Il y a aussi 'timestamp'. Quelle version de DB PostgreSQL et quelle version du pilote JDBC utilisez-vous? – BalusC