ADO: Comment lire une date ?

Résolu
cs_gogomanu Messages postés 29 Date d'inscription mardi 7 janvier 2003 Statut Membre Dernière intervention 26 mars 2009 - 17 juil. 2006 à 18:06
cs_gogomanu Messages postés 29 Date d'inscription mardi 7 janvier 2003 Statut Membre Dernière intervention 26 mars 2009 - 17 juil. 2006 à 18:47
Bonjour,

Lorsque je lis un recordset ADO je reçois le type "_variant_t" pour les TimeStamp (dates et heures).

Or le TimeStamp semble être stocké sous la forme d'un double du genre "38904.835451", qui est un nombre de jours depuis une date de référence (1/1/1800 je crois).

Savez vous comment récupérer les informations: année, mois, jour, heure, minute, seconde en fonction de la date en format Double ? 
(ou alors comment en faire une string affichable c'est pareil...).

j'ai pas mal cherché dans la classe "_variant_t" et "tagVARIANT" pourquoi en mode debug Visual C++ affiche un format de date pour afficher ma variable de type "_variant_t" au lieu d'afficher la valeur double, sans succès !

J'ai cherché sur google, dans les sources cppfrance et sur msdn mais je n'ai pas trouvé la réponse à mon problème.
Je suis en accès ADO sur une base MySQL.

Merci !!!

2 réponses

BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
17 juil. 2006 à 18:35
SYSTEMTIME  sttm;
_variant_t var;
var = prs->Fields->GetItem((long)4)->Value; // DATE
VariantTimeToSystemTime(var.dblVal, &sttm);

ciao...
BruNews, MVP VC++
3
cs_gogomanu Messages postés 29 Date d'inscription mardi 7 janvier 2003 Statut Membre Dernière intervention 26 mars 2009
17 juil. 2006 à 18:47
Punaise j'en reviens pas !!!! mon sauveur !!!
pour un peu t'aurais droit à un gros bisou ! mdr
je plaisante mais là tu me sauuuuuuves !

j'étais déjà en train de réfléchir à comment optimiser une routine
de recherche des années bisextiles...

Raaaaahhh c'est trop bon ! j'ai une date découpée tout propre et tout, le MEGA PIED !!!

Merci BruNews !!!
0
Rejoignez-nous