Réponse de la requète fausse, mais pk ?

Résolu
Mesfl Messages postés 19 Date d'inscription lundi 21 février 2005 Statut Membre Dernière intervention 27 mai 2005 - 1 mars 2005 à 09:10
Mesfl Messages postés 19 Date d'inscription lundi 21 février 2005 Statut Membre Dernière intervention 27 mai 2005 - 1 mars 2005 à 11:36
bonjour a tous,

j'ai un bout de code :
<!--QuoteBegin-->




<!--QuoteEBegin-->While not rs.eof
Response.Write rs("Vacation") & " " & rs("Arr_Depot")& "
"
rs.MoveNext
Wend
<!--QuoteEnd-->
<!--QuoteEEnd-->

le champ vacation dans la base de donnée est définie comme varchar(20) et me renvoie bien ce qu'il me faut c'est à dire le numero d'identifiant,
mais le champ Arr_Depot est de type time et me renvoie une date au lieu de l'heure stockée dans la base de donnée.

Quelqu'un peut-il me dire pourquoi cela me retourne une date au lieu de l'heure et me dire si il y a des modifications a faire? si oui où doivent-elles être faites ?

Merci d'avance <!--IBF.ATTACHMENT_76769-->
<!-- THE POST -->

6 réponses

mrdep1978 Messages postés 402 Date d'inscription jeudi 25 novembre 2004 Statut Membre Dernière intervention 7 juin 2009 7
1 mars 2005 à 11:25
J'y connais pas grand chose en MySQL, mais ce type de pb se pose dans tous les types de bases de données.
Quand tu fais un SELECT sur un champ de type time, date, smalldatetime (SQLServer) .. au tout autre type de ce genre, le résultat est converti sous forme de chaine de caractères. (ben oui, les dates et heures sont en réalité des champs numériques, et afficher 38410.4718481 pour 01/03/2005 11:20:24 c'est pas très parlant). Le format par défaut de cette chaine de caractères dépend de la configuration de la base et/ou du client.

Pour régler ce problème, le mieux est de convertir explicitement dans ta requête ton champ de type TIME en champ de type STRING.
Après de petites recherches sur MySQL, ça devrait donner :
SELECT VACATION, TIME_FORMAT(Arr_Depot,'%H:%i:%S') AS Arr_Depot FROM MaTable
(Je ne sais pas si le "AS Arr_Depot" est autorisé sous mySQL)
La fonction DATE_FORMAT existe aussi pour des champs de type DATE.

Pour plus d'infos, j'ai été là :
http://dev.mysql.com/doc/mysql/en/date-and-time-functions.html
3
cs_max68 Messages postés 30 Date d'inscription samedi 13 mars 2004 Statut Membre Dernière intervention 20 juin 2008
1 mars 2005 à 10:02
Peut être lorsque tu tapes rs("Arr_Depot"), tu dois ajouter rs(CDate"Arr_Depot"), de sorte que ca convertisse en format date.

Max
0
Mesfl Messages postés 19 Date d'inscription lundi 21 février 2005 Statut Membre Dernière intervention 27 mai 2005
1 mars 2005 à 10:43
Euh en fait c'est l'inverse qui doit se passer le résultat souhaité est une heure, le résultat affiché est une date (en l'occurence la date d'aujourd'hui)
0
mrdep1978 Messages postés 402 Date d'inscription jeudi 25 novembre 2004 Statut Membre Dernière intervention 7 juin 2009 7
1 mars 2005 à 10:56
c'est quoi ta base de données ? Access, SQL Server, Oracle
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Mesfl Messages postés 19 Date d'inscription lundi 21 février 2005 Statut Membre Dernière intervention 27 mai 2005
1 mars 2005 à 10:59
MySQL 4.1.10, je ne peu monter plus pour cause de contraintes diverses
0
Mesfl Messages postés 19 Date d'inscription lundi 21 février 2005 Statut Membre Dernière intervention 27 mai 2005
1 mars 2005 à 11:36
Euh c bizarre j'y suis poutant aller mais sur la doc en français et je ne l'y avais pas trouvé !!

Enfin bon un ENORRRRRRMMMMEEEE MERCI
à vous deux
0
Rejoignez-nous