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.
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(.....,....,....,)
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 ?
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
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 !
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();
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager