Bonne et heureuse année à tout le monde !
Je voulais avec JDBC attaquer une base de données. J'ai ainsi fait la requête suivante :
Quand j'exécute mon code, j'ai une erreur avec mon critère dans WHERE. Au fait, c'est avec la date que j'ai des problèmes.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 public void rechercheParDate(){ Statement st=null; ResultSet rs=null; try { st=connect.createStatement(); rs=st.executeQuery("SELECT Vol.NumVol, Vol.DateVol, Vol.HeureVol, Vol.VilleDep, Vol.VilleArr, Vol.TypeVol"+ " FROM Vol WHERE (((Vol.DateVol)='"+"02/07/09"+"'))"); while(rs.next()){ System.out.println(rs.getString("NumVol")+" "+rs.getDate("DateVol")+" "+rs.getTime("HeureVol")+" "+ rs.getString("VilleDep")+" "+rs.getString("VilleArrivee")+" "+rs.getString("TypeVol")); } } catch (SQLException e) {e.printStackTrace();} }
J'ai aussi un embarrat entre java.util.Date et java.sql.Date, quel type utilisé pour mes dates.
Voici l'erreur qui s'affiche :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 java.sql.SQLException: [Microsoft][Pilote ODBC Microsoft Access] Type de données incompatible dans l'expression du critère. at sun.jdbc.odbc.JdbcOdbc.createSQLException(JdbcOdbc.java:6958) at sun.jdbc.odbc.JdbcOdbc.standardError(JdbcOdbc.java:7115) at sun.jdbc.odbc.JdbcOdbc.SQLExecDirect(JdbcOdbc.java:3111) at sun.jdbc.odbc.JdbcOdbcStatement.execute(JdbcOdbcStatement.java:338) at sun.jdbc.odbc.JdbcOdbcStatement.executeQuery(JdbcOdbcStatement.java:253) at af.CompagnieAf.rechercheParDate(CompagnieAf.java:41) at af.GestionAF.main(GestionAF.java:16)
Partager