Gambas France BETA


Pas de compte ? Incription

Date encore et encore

1
AuteurMessages
jeanyvon#1 Posté le 13/9/2017 à 13:37:43
Gambas? Ma! Et gustobonjour à tous
J'ai une base de donnée qui me sert depuis 4 ans et qui fonctionnait comme je veux qu'elle fonctionne et voila que sans rien changer du code des contrôles rien de rien, elle se met à enregistrer les dates en anglais ce qui donne une erreur du genre "je veux une date et c'est un string". C'est donc la datebox qui a changé de format mais on ne peut pas régler.....
Que faire?
pour l'instant, je redresse la situation avec sqliteman à chaque nouveau enregistrement. C'est vraiment ennuyeux.
Vieillir? On peut retarder mais pas y échapper!
davidmue#2 Posté le 13/9/2017 à 22:02:20
Salut jeanyvon,
je n'arrive pas à reproduire le bogue. J'en avais pourtant vu un sur un autre projet MySQL et je m'était rabatu sur TIMESTAMP !
Bref. J'ai mis un code dans la Forge. J'ai Gambas 3.10. Suis sur Mint 17.3. MySQL 5.6.33.
Bonne soirée.
David
Gambas.. C'est chouette !
jeanyvon#3 Posté le 14/9/2017 à 11:18:38
Gambas? Ma! Et gustoSalut à tous!
merci davidmue.
Je n'avais pas pensé à enregistrer en format anglais et mettre l'affichage en français et utiliser le format qu'il faut dans mes affichages. Je passe en résolu pour l'instant en attendant que ça repasse en français.
Vieillir? On peut retarder mais pas y échapper!
jeanyvon#4 Posté le 29/9/2017 à 17:13:05
Gambas? Ma! Et gustoBonjour,
Je remets ce sujet à jour.
Il y a une différence d'un jour entre la date écrite dans la base de donnée et celle affichée dans le gridview. Bien entendu sans datediff. C'est tout nouveau ça vient de sortir
Bien sur je n'ai pas touché à mon code.
J'ai résolu le problème avec:
1
GridView1[i, 1].Text = " " & (Format(DateAdd(CDate(resu!Datation), gb.day, 1), "dd/mm/yyyy"))

Mais je ne crois pas qu'un code aussi alambiqué plaise au puristes...
Vieillir? On peut retarder mais pas y échapper!
gambix#5 Posté le 1/10/2017 à 08:48:10
Faire simple !
Bonjour,
Je remets ce sujet à jour.
Il y a une différence d'un jour entre la date écrite dans la base de donnée et celle affichée dans le gridview. Bien entendu sans datediff. C'est tout nouveau ça vient de sortir
Bien sur je n'ai pas touché à mon code.
J'ai résolu le problème avec:
1
GridView1[i, 1].Text = " " & (Format(DateAdd(CDate(resu!Datation), gb.day, 1), "dd/mm/yyyy"))

Mais je ne crois pas qu'un code aussi alambiqué plaise au puristes...


Ouaip c'est sur ça . déja Pourquoi CDate(resu!datation) resu!datation n'est pas un objet date ?

si tu affiche ta base dans l'editeur de bdd est-ce que tu vois la bonne date ?

donne moi la date affichée dans l'editeur que je vois si ça vient de format ou bien de cdate. Il y a une histoire de convertion UTC aussi. si je me souvient bien la date enregistrée dans ta base est utc.

CStr and CDate are now mutually coherent, by internally converting to UTC dates only. Beware, this bug fix is not backward-compatible!

donc CDate enregistre en interne une date UTC. Normalement si tu te passe de CDate ....

Ceci est fait pour simplifier le support des dates sur les sites internet . La convertion vers l'heure locale ne se faisant qu'au dernier moment en fonction des locales.
Moins de texte dans une signature c'est agrandir son espace.
jeanyvon#6 Posté le 1/10/2017 à 16:00:33
Gambas? Ma! Et gustoSalut
Si je met
1
GridView1[i, 1].Text = " " & (Format(DateAdd(resu!Datation, gb.day, 1), "dd/mm/yyyy"))

J'ai une erreur: "date demander et c'est un string".
J'enregistre maintenant au format UTC
Dans l'éditeur de BdD j'ai la bonne date
Vieillir? On peut retarder mais pas y échapper!
gambix#7 Posté le 3/10/2017 à 10:20:40
Faire simple !tu es sur que tu avais le type du champ a date ?
Moins de texte dans une signature c'est agrandir son espace.
jeanyvon#8 Posté le 3/10/2017 à 11:15:18
Gambas? Ma! Et gustoOui! C'est sur...
Vieillir? On peut retarder mais pas y échapper!
1