2009-09-15 6 views
0

Je suis tring pour comparer une date d'un contrôle de calendrier d'asp à une date dans le tableau .... voici ce que j'ai ... il n'aime pas le ==?Comment comparez-vous les dates dans une requête LINQ?

var query = from details in db.TD_TravelCalendar_Details 
        where details.StartDate == calStartDate.SelectedDate 
        && details.EndDate == calEndDate.SelectedDate 
        select details; 
+0

Des détails supplémentaires seraient utiles - quelle erreur, exactement cela vous donne-t-il? Il est difficile de déduire vos types de ce que vous avez fourni. Quel type est details.StartDate? Et calStartDate.SelectedDate? – Matt

+0

== est bien pour comparer la date. De vos commentaires, les deux opérandes gauche et droite sont DateTime, donc je soupçonne que vous avez modélisé votre StartDate ou EndDate comme autoriser NULL dans DB, dans ce cas, il représentera le champ StartDate en tant que DateTime? plutôt que DateTime –

Répondre

1

Pour que votre requête pour travailler à la fois details.StartDate et calStartDate.SelectedDate doivent être dactylographiées comme System.DateTime.

Quelle erreur recevez-vous? L'une de ces propriétés est probablement une chaîne et doit être parsed dans une instance DateTime pour comparaison.

0

Quel est le type de details.StartDate et details.EndDate? Est-ce String? Peut-être que c'est le problème. Si le type de base de données est String, vous devez Parse la chaîne de date dans un DateTime et le comparer avec la date sélectionnée du calendrier.

+0

Les details.StartDate et EndDate sont DateTime dans la table ... –

Questions connexes