Probleme de date dans requete SQL vers base de donnée MS Access
Je galère pour pouvoir recuperer une entrée (entrée prealablement) dans ma base de données ms access en fonction de la date à laquelle elle a été entrée.
Mon code est le suivant:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
| import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Timestamp;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
public class test {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
DataBaseManagement dbm = new DataBaseManagement();
try {
dbm.ConnectionToDB("blankMSADB");
dbm.UpdateDB("CREATE TABLE test(ID VARCHAR(20),D DATETIME)");
Timestamp ts = new Timestamp(new Date().getTime());
DateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss");
String d = dateFormat.format(ts);
dbm.UpdateDB("INSERT INTO test (ID,D) VALUES ('test','" + d + "')");
ResultSet result = dbm.ReadDB("SELECT D FROM test WHERE ID='test' ");
result.next();
System.out.println(result.getTimestamp("D"));
result = dbm.ReadDB("SELECT ID FROM test WHERE D=#" + d + "# ");
result.next();
try {
System.out.println("essai");
System.out.println(result.String("ID"));
}
catch(Exception e) {
System.out.println("essai rate");
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
finally {
dbm.CloseDB();
}
}
} |
Les fonctions connectionToDB, readDB, updateDB et closeDB sont juste des fonctions pour eviter d'avoir a ecrire statement.excute... etc.
Et la console m'affiche:
Citation:
2008-08-01 18:22:29.0
essai
essai rate
Donc ma table est bien créée (j'ai verifié en ouvrant avec MS Access) mais le WHERE D=#" + d + "# ne semble mener nulle part et je ne comprends pas pourquoi car la chaine de caracteres d est exactement la meme que celle du champ D lorsque j'ouvre ma base de donnée dans MS Access d'Office.
Si vous avez des idées je suis preneur car je comprends vraiment pas ce que je fais de mal.
Merci