Bonjour,

j'ai écrit un programme en java qui permet d'afficher à l'écran le résultat d'une requete sql.
Dans la requete sql, il y a en autres :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
WHERE (I.[Close Date & Time] BETWEEN '20070622 07:00:00.000' AND '20070622 19:00:00.000')
AND (I.[GROUP Name]='EHSFAC-SERVICEDESK1' OR I.[GROUP Name]='EHSFAC-SERVICEDESK2')
Maitenant, je souhaite remplacer la date (ici 20070622) par une chaine de caractere qui aura été
fourni par l'utilisateur.
Je récupere la date entrée de cette façon:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
String date;
Container container = frame.getContentPane();
String message = "Entrez une date au format américain\nExemple : 20070622";
date = JOptionPane.showInputDialog(container, message);
que j'ai injecté dans le programme java de cette manière :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
"WHERE (I.[Close Date & Time] BETWEEN '" + date + " 07:00:00.000' AND '" + date +" 19:00:00.000') "+
       "AND (I.[GROUP Name]='EHSFAC-SERVICEDESK1' OR I.[GROUP Name]='EHSFAC-SERVICEDESK2') "
Avec cette écriture, j'obtiens l'exception
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
java.sql.SQLException: [Microsoft][ODBC SQL Server Driver][SQL Server]La conversion d'un type de données CHAR en type DATETIME a donné une valeur hors des limites des valeurs de date et d'heure.
	at sun.jdbc.odbc.JdbcOdbc.createSQLException(Unknown Source)
	at sun.jdbc.odbc.JdbcOdbc.standardError(Unknown Source)
	at sun.jdbc.odbc.JdbcOdbc.SQLExecDirect(Unknown Source)
	at sun.jdbc.odbc.JdbcOdbcStatement.execute(Unknown Source)
	at sun.jdbc.odbc.JdbcOdbcStatement.executeQuery(Unknown Source)
	at MonMenu.main(MonMenu.java:551)
Je voudrai savoir ce qu'il faut faire pour qu'il n'y ait plus ce probleme.

Merci