Enregistrer TIME en Mysql
Résolu
driftman123
Messages postés
36
Statut
Membre
-
driftman123 Messages postés 36 Statut Membre -
driftman123 Messages postés 36 Statut Membre -
Bonsoir je voulais vous consulter pour un truc je suis entrain de creer une application de pointage en java ou on doit entrer dans une base de donnée la date actuelle du pointage mais mon seul probleme c'est que je dois entrer lheureEntreeMatin et heureSortieMatin en HH:mm:ss et ensuite verifier la difference avec 08:00:00 pour deduire le retard en minute
par exemple EntreeMatin : 08:12:00
Sortie 12:05:00
08:12:00 - 08:00:00 = 12 min
je voulais juste savoir comment enregistrer un champs type TIME qui est tapé en type String dans mysql
par exemple EntreeMatin : 08:12:00
Sortie 12:05:00
08:12:00 - 08:00:00 = 12 min
je voulais juste savoir comment enregistrer un champs type TIME qui est tapé en type String dans mysql
1 réponse
-
Bonjour,
Pourquoi utiliser un type String dans MySql ? Le type TIME existe et il est plus pratique puisqu'il permet de faire des requêtes sur ce champ sans avoir à parser ta chaîne de caractères HH:mm:ss. En plus celle-ci va prendre 8 caractères, donc 9 octets, alors que le champ TIME ne prendra que 3 octets. Sans oublier que la conversion d'un champ TIME vers le type Date de Java est naturelle.
Bref, sur tous les critères il est préférable d'utiliser un type TIME, pas un VARCHAR.-
-
-
-
Ça y a aucun soucis, d'abord l'utilisateur entres tout ce que tu veux jusqu'à ce que le temps soit bon, ensuite quand ton String est bien au format hh:mm::ss tu le convertis :
Time t = Time.valueOf("12:34:56"); // import java.sql.Time
Ensuite pour ta requête en base de données, tu fait un setTime tout simplement :
PreparedStatement stmt = ... stmt.setTime(1, t);
Regarde la documentation :
Time.valueOf(String)
PreparedStatement.setTime(int, Time) -
-