[VB.NET] Format datetime

Résolu
arkhan07 Messages postés 30 Date d'inscription   Statut Membre Dernière intervention   -  
arkhan07 Messages postés 30 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Je développe une application sur Visual studion 2008 en utilisant VB.NET. J'utilise aussi une base de données Mysql géré par phpmyadmin via EasyPhp.

Mon problème se situe au niveau de l'enregistrement d'une date dans la base de données.

Le format de ma date sur mon application est le suivant : jj/mm/aaaa hh:mm:ss
Le format dans la base de donnée est le suivant : jjjj-mm-aa hh:mm:ss

Je pense que mon probleme viendrait d'un conflit entre ces deux formats.
Ma question est la suivante: Comment uniformiser les formats pour enregistrer la date dans la base de données.

Cordialement

A voir également:

4 réponses

Utilisateur anonyme
 
Bonjour,

Le transfert de données entre la BD et un interface doit se faire
de façon explicite en ce qui a trait au typage des données.

Sous MySQL 5.5, j'ai défini un champ Date et j'enregistre avec
une variable de type Date et cela se passe bien.

Regarde si le type Date existe sous ta version de MySQL
et utilise le format Date de VB.NET.

Sinon, il te faudra faire la conversion et présenté la date
sous forme de chaine de caractères mais dans l'ordre du format
Date de la version que tu as de MySQL.

Il doit exister une instruction MySQL qui permet d'aiguiller le compilateur
vers le typage de la donnée, exemple sous Oracle, on écrit :

CDATE("1999-01-01")
CDATE(@MaVariable)

Date sous format chaine VB.NET :

LaDate.ToShortDateString
LaDate.ToLongDateString

LaDate.ToShortTimeString

Cdt

Lupin
1
arkhan07 Messages postés 30 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour,

Le champ contenant ma date dans la base de données est déclaré avec le type "datetime". Par défaut la valeur est "0000-00-00 00:00:00" Donc AAAA-MM-JJ.

Dans mon appliation, ma variable est bien déclarée en date :
Public date_aujourdhui_Y_M_D As Date


Ensuite je l'initialise en fonction de tous les formats qui me sont proposés:

date_aujourdhui_Y_M_D = FormatDateTime(Date.Now, DateFormat.GeneralDate)
MsgBox(date_aujourdhui_Y_M_D)
Affichage : 21/05/2012 15:34:15

date_aujourdhui_Y_M_D = FormatDateTime(Date.Now, DateFormat.LongDate)
MsgBox(date_aujourdhui_Y_M_D)
Affichage : 21/05/2012

date_aujourdhui_Y_M_D = FormatDateTime(Date.Now, DateFormat.LongTime)
MsgBox(date_aujourdhui_Y_M_D)
Affichage : 15:34:15

date_aujourdhui_Y_M_D = FormatDateTime(Date.Now, DateFormat.ShortDate)
MsgBox(date_aujourdhui_Y_M_D)
Affichage : 21/05/2012

date_aujourdhui_Y_M_D = FormatDateTime(Date.Now, DateFormat.ShortTime)
MsgBox(date_aujourdhui_Y_M_D)
Affichage :15:34:15

Comme tu peux le voir aucun des formats ne m'affiche la date sous fome AAAA-MM-JJ.

Aurais tu une autre idée?

Codialement
0
arkhan07 Messages postés 30 Date d'inscription   Statut Membre Dernière intervention  
 
Une autre idée?
0
Utilisateur anonyme
 
re:

Un peu tard, mais enfin ...

Sous ma version de MySQL, j'ai la possibilité de déclarer le format
de mon champs en type [ Date ] au lieu de [ DateTime ].

Peut-être que cela pourrait résoudre ton problème, si bien sur
tu n'as pas besoin de l'heure.

Cdt

Lupin
0
arkhan07 Messages postés 30 Date d'inscription   Statut Membre Dernière intervention  
 
Pour modifier le format, cette fonction fonctionne : Format(,)

exemple : Format(Variable_datetime,"yyyy-MM-dd")

merci pour votre aide.
0