IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

Setter le Kind d'une dateTime


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Avril 2010
    Messages
    152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2010
    Messages : 152
    Par défaut Setter le Kind d'une dateTime
    Bonjour,

    Mon application est liée à une BD SQL Server. Quand je stock une date, par ex 11/04/2011 00:00:00, et quand je la récupère après elle est récupérée en 10/04/2011 23:00:00 avec Kind= UTC et je suis obligée de mettre un ToLocalTime() pour retrouver ma date.

    Y a t il moyen de dire que les dates doivent récupérées telles qu'elles sont? Ou de dire que toutes les dates récupérées sont en Kind=Local? Sinon je serai obligé de mettre des ToLocalTime() pour toute mes dates, sachant que j'en ai une centaine.

    Merci

  2. #2
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par farfouch00 Voir le message
    Y a t il moyen de dire que les dates doivent récupérées telles qu'elles sont? Ou de dire que toutes les dates récupérées sont en Kind=Local?
    Est-ce que ton SGBDR et ton application se trouvent sur la même machine ?

    Si oui alors c'est bizarre que tu ais ce problème.
    Si non, regarde si les deux machines ont le même fuseau horaire.

  3. #3
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Avril 2010
    Messages
    152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2010
    Messages : 152
    Par défaut
    Bonjour h2s84 et merci pour ta réponse immédiate.

    Alors mon SGBD et mon application sont effectivement sur deux machines différentes. Par contre, j'ai vérifié, elles ont le même fuseau horaire (PJ). Alors comme tu dis, c'est bizarre

    Edit : Et l'heure est bien réglée sur les deux.
    Edit 2 : j'ai fait pas mal de test, et la date stockée dans mon SGBD est bien celle que je choisi dans mon appli, alors le problème provient lors dela récupération de cette date. Par contre en debug :

    this.DATE_MISE_EN_SERVICE.Value.Kind =>Utc
    Images attachées Images attachées   

  4. #4
    Invité
    Invité(e)
    Par défaut


    AMHA je ne pense qu'il y ait une configuration quelconque côté SQL Serveur ou côté paramètres de l'application .Net pour que les 2 dates concordent.

    Sinon on peut savoir comment tu fais pour récupérer les dates côté application et aussi comment tu les insères à partir du code ?

  5. #5
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Avril 2010
    Messages
    152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2010
    Messages : 152
    Par défaut
    Ah, là ça va être un peu compliqué, parce qu'il s'agit d'une application SilverLight :

    Insertion : J'ai créé une procédure stockée dans SQL-Server qui prendre en paramètres, entre autres, une date. Je remplis les champs de mon interface et je clique sur un bouton qui lance cette PS. Je fais un profiling de cette opération, le paramètre que prend la PS est bien la date que j'ai mise, et dans la table, la date insérée est bien la date que j'ai choisie dans mon appli.

    Récupération : (Je sais pas si tu t y connais en SL, EntityFramwork) j'ai importé le modèle de ma base de données, je rafraîchi et récupère la tables, et je récupère ma ligne grâce à un ID.

    Sais pas si ça pourrais t'aider, mais c'est basique comme opérations. Ca m'étonnerai que ca vienne de la technologie, c'est pour ça que j'ai poster ici (D'ailleurs j'ai posté aussi sur le forum Silverlight, pensant au début que c'était un problème de CultureInfo...)

    Edit : Dans SQL-Server la langue est English. J'ai vu sur un forum que si l'on change la langue, tout change...
    For example, SET LANGUAGE TURKISH would change the date format to d\m\y and some other settings to this language's format...

  6. #6
    Invité
    Invité(e)
    Par défaut
    Pour l'insertion et la récupération cela me semble basique pour qu'il y ait une problème de décalage horaire entre l'application et le serveur SQL Server.

    Sinon quel est le type du champ concerné dans la table SQL Server ? Ne s'agit-il d'un truc du genre datetimeoffset. Apparemment ce type de données prend en compte le fuseau horaire. Je ne sais pas trop si c'est l'origine de ton problème mais bonne chance pour la suite.

Discussions similaires

  1. setter le id d'une generatedValue
    Par *alexandre* dans le forum Hibernate
    Réponses: 3
    Dernier message: 27/10/2008, 16h30
  2. Réponses: 13
    Dernier message: 07/08/2008, 10h02
  3. Formater une DATETIME
    Par slideveloppeur2006 dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 14/04/2008, 16h10
  4. Réponses: 1
    Dernier message: 30/11/2006, 17h47
  5. Réponses: 21
    Dernier message: 10/08/2006, 16h10

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo