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 :
Maitenant, je souhaite remplacer la date (ici 20070622) par une chaine de caractere qui aura été
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')
fourni par l'utilisateur.
Je récupere la date entrée de cette façon:
que j'ai injecté dans le programme java de cette manière :
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);
Avec cette écriture, j'obtiens l'exception
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') "
Je voudrai savoir ce qu'il faut faire pour qu'il n'y ait plus ce probleme.
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)
Merci
Partager