2009-05-20 12 views
1

Lorsque je sélectionne des lignes de données de la base de données mssql2005 et que je les lie à datagrid, les dates sélectionnées à partir de db ne sont pas valides. Par exemple, dans db je jour sous forme:Sélectionner la date erronée imprime la date

2009-05-10 00: 00: 00.000

mais quand il est affiché dans la grille de données, il ressemble à ceci:

5/9/2009 10:00:00 PM

Donc, il montre 2 heures plus tôt, puis enregistré en DB.

05 - il est le mois :-)

Qu'est-ce que je fais mal?

Enregistre dans la base de données lorsque ajouté par insérer une requête sql dans Sql Management Studio, car ces recods sont juste pour le test. J'utilise silverlight 3.0, les services ria peuvent prévisualiser, anglais vs08, polonais MS vista home premium.

Répondre

1

Cela me semble être un problème de fuseau horaire. Sélectionnez-vous directement les lignes de la base de données dans votre application ou les récupérez-vous éventuellement via un service Web d'une autre machine? En guise de test de base, essayez de définir le fuseau horaire de Windows +2 heures à l'avance, puis vérifiez si le problème persiste.

+0

Directement de la base de données dans mon application. Les deux - application et serveur mssql fonctionne sur la même machine –

+0

Essayez mon test de base et laissez-moi savoir comment ça se passe. Il est possible que votre serveur SQL Server soit exécuté sous un compte Windows ayant un fuseau horaire différent de celui de votre compte. –

+0

Après cela, il montre dans dataGrid: 5/9/2009 11:00:00 mais il y a un autre problème, que je viens de remarquer. Ceux-ci sont trois lignes de date prises à partir de trois lignes différentes: db 2009-05-10 00: 00: 00.000 2009-04-10 00: 00: 00.000 2009-03-10 00: 00: 00.000 et mêmes lignes présentées dans DataGrid: 5/9/2009 23:00:00 4/9/2009 23:00:00 3/10/2009 00:00:00 il montre différentes heures le 10 mars 2009. –

Questions connexes