insertion et recupération de dates dans une base de données
4 réponses
moc-ecnarfi
Bonjour,
Quelqu'un connait-il un bon tutoriel sur la manipulation des dates
dans une base de donnée avec java.
Parce que, je dois être un peu con, mais j'ai vraiment du mal à m'y
retrouver entre les java.util.date, java.sql.date, les calendar, les
gregoriancalendar sans parler des differentes BD qui utilisent des
formats plus ou moins standart.
J'ai déjà cherché sur internet, mais j'ai rien trouvé qui
m'éclaircisse vraiment les idées.
Alors, si vous connaissez un bon tutoriel ou une méthode "classique"
(si possible avec du code) je suis preneur.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Adobex
Hello,
Ben tu fais comme tout le monde! Tu te démerdes! :-) Mais non je plaisante!! Bon selon moi, y a rien de très compliqué mais y a rien de vraiment standard.
Tout dépend de la base que tu attaques et de ce que tu veux faire avec la date, c'est à dire si c'est pour faire une mise à jour ou si c'est pour faire un SELECT. Quoi qu'il en soit, personnellement j'utilise Calendar et ensuite je découpe le tout et je le remodèle en fonction du format imposé par la bdd. Il possible que ce ne soit pas le moyen le plus simple mais j'ai toujours fait comme ça, je n'utilise pas les autres classes dont tu parles.
Voilà, mais grosso modo, ça dépend de ce que tu veux faire. Si tu maitrises Calendar et String tu devrais t'en sortir assez bien.
Adobex -- http://clxn.free.fr ICQ# 85383955
"moc ecnarfi" a écrit dans le message de news:
Bonjour,
Quelqu'un connait-il un bon tutoriel sur la manipulation des dates dans une base de donnée avec java. Parce que, je dois être un peu con, mais j'ai vraiment du mal à m'y retrouver entre les java.util.date, java.sql.date, les calendar, les gregoriancalendar sans parler des differentes BD qui utilisent des formats plus ou moins standart. J'ai déjà cherché sur internet, mais j'ai rien trouvé qui m'éclaircisse vraiment les idées. Alors, si vous connaissez un bon tutoriel ou une méthode "classique" (si possible avec du code) je suis preneur.
Merci
Hello,
Ben tu fais comme tout le monde! Tu te démerdes! :-)
Mais non je plaisante!!
Bon selon moi, y a rien de très compliqué mais y a rien de vraiment
standard.
Tout dépend de la base que tu attaques et de ce que tu veux faire avec la
date, c'est à dire si c'est pour faire une mise à jour ou si c'est pour
faire un SELECT. Quoi qu'il en soit, personnellement j'utilise Calendar et
ensuite je découpe le tout et je le remodèle en fonction du format imposé
par la bdd. Il possible que ce ne soit pas le moyen le plus simple mais j'ai
toujours fait comme ça, je n'utilise pas les autres classes dont tu parles.
Voilà, mais grosso modo, ça dépend de ce que tu veux faire. Si tu maitrises
Calendar et String tu devrais t'en sortir assez bien.
Adobex
--
http://clxn.free.fr
ICQ# 85383955
"moc ecnarfi" <moc-ecnarfi@ifrance.com> a écrit dans le message de
news:c132ab8f.0307300721.3a11b87a@posting.google.com...
Bonjour,
Quelqu'un connait-il un bon tutoriel sur la manipulation des dates
dans une base de donnée avec java.
Parce que, je dois être un peu con, mais j'ai vraiment du mal à m'y
retrouver entre les java.util.date, java.sql.date, les calendar, les
gregoriancalendar sans parler des differentes BD qui utilisent des
formats plus ou moins standart.
J'ai déjà cherché sur internet, mais j'ai rien trouvé qui
m'éclaircisse vraiment les idées.
Alors, si vous connaissez un bon tutoriel ou une méthode "classique"
(si possible avec du code) je suis preneur.
Ben tu fais comme tout le monde! Tu te démerdes! :-) Mais non je plaisante!! Bon selon moi, y a rien de très compliqué mais y a rien de vraiment standard.
Tout dépend de la base que tu attaques et de ce que tu veux faire avec la date, c'est à dire si c'est pour faire une mise à jour ou si c'est pour faire un SELECT. Quoi qu'il en soit, personnellement j'utilise Calendar et ensuite je découpe le tout et je le remodèle en fonction du format imposé par la bdd. Il possible que ce ne soit pas le moyen le plus simple mais j'ai toujours fait comme ça, je n'utilise pas les autres classes dont tu parles.
Voilà, mais grosso modo, ça dépend de ce que tu veux faire. Si tu maitrises Calendar et String tu devrais t'en sortir assez bien.
Adobex -- http://clxn.free.fr ICQ# 85383955
"moc ecnarfi" a écrit dans le message de news:
Bonjour,
Quelqu'un connait-il un bon tutoriel sur la manipulation des dates dans une base de donnée avec java. Parce que, je dois être un peu con, mais j'ai vraiment du mal à m'y retrouver entre les java.util.date, java.sql.date, les calendar, les gregoriancalendar sans parler des differentes BD qui utilisent des formats plus ou moins standart. J'ai déjà cherché sur internet, mais j'ai rien trouvé qui m'éclaircisse vraiment les idées. Alors, si vous connaissez un bon tutoriel ou une méthode "classique" (si possible avec du code) je suis preneur.
Merci
captainpaf
"moc ecnarfi" a écrit dans le message de news:
Bonjour,
Quelqu'un connait-il un bon tutoriel sur la manipulation des dates dans une base de donnée avec java. Parce que, je dois être un peu con, mais j'ai vraiment du mal à m'y retrouver entre les java.util.date, java.sql.date, les calendar, les gregoriancalendar sans parler des differentes BD qui utilisent des formats plus ou moins standart. J'ai déjà cherché sur internet, mais j'ai rien trouvé qui m'éclaircisse vraiment les idées. Alors, si vous connaissez un bon tutoriel ou une méthode "classique" (si possible avec du code) je suis preneur.
Merci
Soit tu stockes ta date en bdd en utilisant la valeur numérique en milliseconde. L'avantage c'est que c'est le plus standart, l'inconvénient c'est que pour lire tes dates directement en bdd c'esr coton. Soit tu utilises le format date que propose ta bdd. L'inconvénient bien sûr c'est que ça change à chaque bdd.
Après, pour la manipulation de date, tu peux utiliser GregorianCalendar et SimpleDateFormat. Par exemple : <code> // recupération de la date courante GregorianCalendar calendar = new GregorianCalendar(); // ajout d'un mois calendar.add(GregorianCalendar.MONTH,1); // affichage formaté de la date SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yy"); System.out.println(sdf.format(calendar.getTime()); </code>
"moc ecnarfi" <moc-ecnarfi@ifrance.com> a écrit dans le message de news:
c132ab8f.0307300721.3a11b87a@posting.google.com...
Bonjour,
Quelqu'un connait-il un bon tutoriel sur la manipulation des dates
dans une base de donnée avec java.
Parce que, je dois être un peu con, mais j'ai vraiment du mal à m'y
retrouver entre les java.util.date, java.sql.date, les calendar, les
gregoriancalendar sans parler des differentes BD qui utilisent des
formats plus ou moins standart.
J'ai déjà cherché sur internet, mais j'ai rien trouvé qui
m'éclaircisse vraiment les idées.
Alors, si vous connaissez un bon tutoriel ou une méthode "classique"
(si possible avec du code) je suis preneur.
Merci
Soit tu stockes ta date en bdd en utilisant la valeur numérique en
milliseconde. L'avantage c'est que c'est le plus standart, l'inconvénient
c'est que pour lire tes dates directement en bdd c'esr coton.
Soit tu utilises le format date que propose ta bdd. L'inconvénient bien sûr
c'est que ça change à chaque bdd.
Après, pour la manipulation de date, tu peux utiliser GregorianCalendar et
SimpleDateFormat.
Par exemple :
<code>
// recupération de la date courante
GregorianCalendar calendar = new GregorianCalendar();
// ajout d'un mois
calendar.add(GregorianCalendar.MONTH,1);
// affichage formaté de la date
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yy");
System.out.println(sdf.format(calendar.getTime());
</code>
Quelqu'un connait-il un bon tutoriel sur la manipulation des dates dans une base de donnée avec java. Parce que, je dois être un peu con, mais j'ai vraiment du mal à m'y retrouver entre les java.util.date, java.sql.date, les calendar, les gregoriancalendar sans parler des differentes BD qui utilisent des formats plus ou moins standart. J'ai déjà cherché sur internet, mais j'ai rien trouvé qui m'éclaircisse vraiment les idées. Alors, si vous connaissez un bon tutoriel ou une méthode "classique" (si possible avec du code) je suis preneur.
Merci
Soit tu stockes ta date en bdd en utilisant la valeur numérique en milliseconde. L'avantage c'est que c'est le plus standart, l'inconvénient c'est que pour lire tes dates directement en bdd c'esr coton. Soit tu utilises le format date que propose ta bdd. L'inconvénient bien sûr c'est que ça change à chaque bdd.
Après, pour la manipulation de date, tu peux utiliser GregorianCalendar et SimpleDateFormat. Par exemple : <code> // recupération de la date courante GregorianCalendar calendar = new GregorianCalendar(); // ajout d'un mois calendar.add(GregorianCalendar.MONTH,1); // affichage formaté de la date SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yy"); System.out.println(sdf.format(calendar.getTime()); </code>
Valère viandier
La gestions des dates en sgbd n'as rien d'étrange et de complexe. Il faut comprendre 2 3 principes simples sur les dates en java avant tout.
L'objet Date permet de transporter la donnée (java.util.Date) Elle peut etre manipulée avec un Calendar (interface) dont l'implémentation de base est le GregorianCalendar Elle peut être formatée ou parsée par un DateFormat implémenté dans le SimpleDateFormat
Coté sgbd, il existe 3 formats supportés - Date - Heure - Date & Heure
Les 3 wrappeurs pour ces types sont, respectivement java.sql.Date, java.sql.Time et java.sql.Timestamp En fonction du type retenus dans ta base, tu doit utiliser le bon wrappeur et la bonne méthode d'accès
Pour la lecture : pour une requete : "SELECT FACT_DATE_CREATION, ..... FROM FACTURE...." java.sql.Date dateCreation = resultset.getDate("FACT_DATE_CREATION");
Pour le replacer dans un objet de donnée java.util.Date, un simple cast peu suffir ici car java.sql.Date hérite de java.util.Date. Je préfaire tout de même un : java.util.Date maDate = new java.util.Date(dateCreation.getTime());
Pour les acces en écriture Utilise de manière systèmatique un PreparedStatement et non un Statement PreparedStatment statement = connexion.prepareStatement("INSERT INTO FACTURE(FACT_DATE_CREATION,...) VALUES(?,?,.....)"); Ensuite, place tes paramètres de la manière suivante statement.setDate("FACT_DATE_CREATION",new java.sql.Date(maDate.getTime())); statement.setTime("FACT_DATE_CREATION",new java.sql.Time(maDate.getTime())); statement.setTimestamp("FACT_DATE_CREATION",new java.sql.Timestamp(maDate.getTime()));
int affectedRecords = statement.executeUpdate();
Surtout, n'utilise pas de cote, de transformation de date ou autre formatage inutile. Si tu as un soucis avec cette méthode, c'est que le driver JDBC que tu utilise n'est pas correct
Bonne continuation
"moc ecnarfi" a écrit dans le message de news:
Bonjour,
Quelqu'un connait-il un bon tutoriel sur la manipulation des dates dans une base de donnée avec java. Parce que, je dois être un peu con, mais j'ai vraiment du mal à m'y retrouver entre les java.util.date, java.sql.date, les calendar, les gregoriancalendar sans parler des differentes BD qui utilisent des formats plus ou moins standart. J'ai déjà cherché sur internet, mais j'ai rien trouvé qui m'éclaircisse vraiment les idées. Alors, si vous connaissez un bon tutoriel ou une méthode "classique" (si possible avec du code) je suis preneur.
Merci
La gestions des dates en sgbd n'as rien d'étrange et de complexe.
Il faut comprendre 2 3 principes simples sur les dates en java avant tout.
L'objet Date permet de transporter la donnée (java.util.Date)
Elle peut etre manipulée avec un Calendar (interface) dont l'implémentation
de base est le GregorianCalendar
Elle peut être formatée ou parsée par un DateFormat implémenté dans le
SimpleDateFormat
Coté sgbd, il existe 3 formats supportés
- Date
- Heure
- Date & Heure
Les 3 wrappeurs pour ces types sont, respectivement java.sql.Date,
java.sql.Time et java.sql.Timestamp
En fonction du type retenus dans ta base, tu doit utiliser le bon wrappeur
et la bonne méthode d'accès
Pour la lecture :
pour une requete : "SELECT FACT_DATE_CREATION, ..... FROM FACTURE...."
java.sql.Date dateCreation = resultset.getDate("FACT_DATE_CREATION");
Pour le replacer dans un objet de donnée java.util.Date, un simple cast peu
suffir ici car java.sql.Date hérite de java.util.Date.
Je préfaire tout de même un :
java.util.Date maDate = new java.util.Date(dateCreation.getTime());
Pour les acces en écriture
Utilise de manière systèmatique un PreparedStatement et non un Statement
PreparedStatment statement = connexion.prepareStatement("INSERT INTO
FACTURE(FACT_DATE_CREATION,...) VALUES(?,?,.....)");
Ensuite, place tes paramètres de la manière suivante
statement.setDate("FACT_DATE_CREATION",new java.sql.Date(maDate.getTime()));
statement.setTime("FACT_DATE_CREATION",new java.sql.Time(maDate.getTime()));
statement.setTimestamp("FACT_DATE_CREATION",new
java.sql.Timestamp(maDate.getTime()));
int affectedRecords = statement.executeUpdate();
Surtout, n'utilise pas de cote, de transformation de date ou autre formatage
inutile.
Si tu as un soucis avec cette méthode, c'est que le driver JDBC que tu
utilise n'est pas correct
Bonne continuation
"moc ecnarfi" <moc-ecnarfi@ifrance.com> a écrit dans le message de
news:c132ab8f.0307300721.3a11b87a@posting.google.com...
Bonjour,
Quelqu'un connait-il un bon tutoriel sur la manipulation des dates
dans une base de donnée avec java.
Parce que, je dois être un peu con, mais j'ai vraiment du mal à m'y
retrouver entre les java.util.date, java.sql.date, les calendar, les
gregoriancalendar sans parler des differentes BD qui utilisent des
formats plus ou moins standart.
J'ai déjà cherché sur internet, mais j'ai rien trouvé qui
m'éclaircisse vraiment les idées.
Alors, si vous connaissez un bon tutoriel ou une méthode "classique"
(si possible avec du code) je suis preneur.
La gestions des dates en sgbd n'as rien d'étrange et de complexe. Il faut comprendre 2 3 principes simples sur les dates en java avant tout.
L'objet Date permet de transporter la donnée (java.util.Date) Elle peut etre manipulée avec un Calendar (interface) dont l'implémentation de base est le GregorianCalendar Elle peut être formatée ou parsée par un DateFormat implémenté dans le SimpleDateFormat
Coté sgbd, il existe 3 formats supportés - Date - Heure - Date & Heure
Les 3 wrappeurs pour ces types sont, respectivement java.sql.Date, java.sql.Time et java.sql.Timestamp En fonction du type retenus dans ta base, tu doit utiliser le bon wrappeur et la bonne méthode d'accès
Pour la lecture : pour une requete : "SELECT FACT_DATE_CREATION, ..... FROM FACTURE...." java.sql.Date dateCreation = resultset.getDate("FACT_DATE_CREATION");
Pour le replacer dans un objet de donnée java.util.Date, un simple cast peu suffir ici car java.sql.Date hérite de java.util.Date. Je préfaire tout de même un : java.util.Date maDate = new java.util.Date(dateCreation.getTime());
Pour les acces en écriture Utilise de manière systèmatique un PreparedStatement et non un Statement PreparedStatment statement = connexion.prepareStatement("INSERT INTO FACTURE(FACT_DATE_CREATION,...) VALUES(?,?,.....)"); Ensuite, place tes paramètres de la manière suivante statement.setDate("FACT_DATE_CREATION",new java.sql.Date(maDate.getTime())); statement.setTime("FACT_DATE_CREATION",new java.sql.Time(maDate.getTime())); statement.setTimestamp("FACT_DATE_CREATION",new java.sql.Timestamp(maDate.getTime()));
int affectedRecords = statement.executeUpdate();
Surtout, n'utilise pas de cote, de transformation de date ou autre formatage inutile. Si tu as un soucis avec cette méthode, c'est que le driver JDBC que tu utilise n'est pas correct
Bonne continuation
"moc ecnarfi" a écrit dans le message de news:
Bonjour,
Quelqu'un connait-il un bon tutoriel sur la manipulation des dates dans une base de donnée avec java. Parce que, je dois être un peu con, mais j'ai vraiment du mal à m'y retrouver entre les java.util.date, java.sql.date, les calendar, les gregoriancalendar sans parler des differentes BD qui utilisent des formats plus ou moins standart. J'ai déjà cherché sur internet, mais j'ai rien trouvé qui m'éclaircisse vraiment les idées. Alors, si vous connaissez un bon tutoriel ou une méthode "classique" (si possible avec du code) je suis preneur.