Bonjour,
J'ai un petit problèmes avec les dates, comment mettre des dates de java dans des requêtes pour une base de données Access.
MercI
Bonjour,
J'ai un petit problèmes avec les dates, comment mettre des dates de java dans des requêtes pour une base de données Access.
MercI
Salut,
tu peux les enregistrer sous forme de String après avoir appliquer un formatage.
Ma Chaine youtube : https://www.youtube.com/@medBkDev
Mes Articles
guide du débutant pour apprendre à programmer en Java -
FAQ Java et les cours et tutoriels Java
ca ne fonctionne pas , voici un bout de mon code
et voici l'erreur que j'ai
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 Date date_actuelle = new Date(); SimpleDateFormat simpleFormat = new SimpleDateFormat("dd/MM/yyyy HH/mm/ss"); results = bd_controle.select("count(*)", "tables", "date >= " + simpleFormat.format(date_actuelle), null);
Merci
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Erreur: java.sql.SQLException: [Microsoft][Pilote ODBC Microsoft Access] Erreur de syntaxe (opérateur absent) dans l'expression 'date >= 16/10/2010 14:21:49'. Erreur: java.lang.NullPointerException
Salut,
pour être clair,est de type String.
Code : Sélectionner tout - Visualiser dans une fenêtre à part simpleFormat.format(date_actuelle)
par contre, peux tu m'informer sur la méthodedans ton code ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part select(.....,....,....,)![]()
Ma Chaine youtube : https://www.youtube.com/@medBkDev
Mes Articles
guide du débutant pour apprendre à programmer en Java -
FAQ Java et les cours et tutoriels Java
la fonction select exécute juste une sélection sur la base de donnée, elle fonctionne normalement, la requête qu'elle me crée est la suivante
query[ SELECT count(*) FROM tables WHERE date >= 16/10/2010 14:25:27; ]
Comment tu as déclaré la colonne date dans La table BD ?
Ma Chaine youtube : https://www.youtube.com/@medBkDev
Mes Articles
guide du débutant pour apprendre à programmer en Java -
FAQ Java et les cours et tutoriels Java
La base de données, ce n'est pas moi qui l'a faite mais je sais qu'elle a été faite sous Access, et son type est Date/Heure.
Dans ce cas, il faut pas enregistrer la date comme étant une chaine de caractère, elle doit normalement étre de type java.sql.Date
tu peux utiliser ce code
Ma Chaine youtube : https://www.youtube.com/@medBkDev
Mes Articles
guide du débutant pour apprendre à programmer en Java -
FAQ Java et les cours et tutoriels Java
Merci, C'est bon j'ai pigé le truc, en faite il faut mettre la date entre deux #.
Et ça fonctionne trop bien.query[ SELECT count(*) FROM tables WHERE date >= #16/10/2010 14:25:27#; ]
J'aimerais bien savoir d'où tu t'es informé car j'aimerais bien comprendre le truc !
Ma Chaine youtube : https://www.youtube.com/@medBkDev
Mes Articles
guide du débutant pour apprendre à programmer en Java -
FAQ Java et les cours et tutoriels Java
Ou alors tu utilises des PreparedStatement ce qui t'évite tout ce genre de problèmes
Quelle est l'utilité de PreparedStatement Ici svp ?
car j'ai lu le tuto de la FAQ mais c'est peu de code j'arrive vraiment pas a assimiler![]()
De ne pas avoir à se préoccuper du format de la chaine représentant la date dans la requête.
Et de produire un code bien plus propre et sécurisé vis à vis des injections SQL
Merci je comprend, mais j'ai un dernier probleme si ca ne vous gène pas ...
Je veut tout simplement inserer la valeur d'un String dans ma base
De cette facon :
Je veut simplement inserer la valeur contenant dans dbPrenom (qui est de type String)
Code : Sélectionner tout - Visualiser dans une fenêtre à part Insert INTO infosinscri VALUES ("+dbCin+",'dbPrenom'....)
si dbCin et dbPrenom sont des variables en String dans ton code:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 PreparedStatement statement= connection.prepareStatement("insert into infosinscri (nomColonne1, nomColonne2) values (?,?)"); statement.setString(1,dbCin); statement.setString(2,dbPrenom); statement.execute();
Partager