Issue with FieldBetweenPredicate and date ranges

Posts   
 
    
Tlaughlin
User
Posts: 8
Joined: 19-May-2004
# Posted on: 27-Jun-2012 17:11:51   

Hi,

I am getting strange behavior on selecting data between a date range. When I use SQL I get 160 items. When I use code below I get 0 results

Version 3.5 Final SQL Server 2008 R2 C# Adapter

code DataAccessAdapter ObjDA =new DataAccessAdapter(); EntityCollection<FlightHistoryEntity> ObjFlightHistorys = new EntityCollection<FlightHistoryEntity>();

       DateTime DtPast = DateTime.Now.AddMinutes(Convert.ToInt32(ObjConfig.PastMinutes));
        DateTime DtFuture = DateTime.Now.AddMinutes(Convert.ToInt32(ObjConfig.FutureMinutes));


            ObjBucket.PredicateExpression.Add(new FieldBetweenPredicate(FlightHistoryFields.ArrivalDate, null, DtPast, DtFuture));

     ObjDA.FetchEntityCollection(ObjFlightHistorys, ObjBucket);

Results with 0 FlightHistoryEntity. Sql from debug

Generated Sql query: Query: SELECT [FlightData].[dbo].[FlightHistory].[ActualAircraftType], [FlightData].[dbo].[FlightHistory].[ActualAirTime], [FlightData].[dbo].[FlightHistory].[ActualBlockTime], [FlightData].[dbo].[FlightHistory].[ActualGateArrivalDate], [FlightData].[dbo].[FlightHistory].[ActualGateDepartureDate], [FlightData].[dbo].[FlightHistory].[ActualRunwayArrivalDate], [FlightData].[dbo].[FlightHistory].[ActualRunwayDepartureDate], [FlightData].[dbo].[FlightHistory].[AirlineID] AS [AirlineId], [FlightData].[dbo].[FlightHistory].[ArrivalAirportTimeZoneOffset], [FlightData].[dbo].[FlightHistory].[ArrivalDate], [FlightData].[dbo].[FlightHistory].[ArrivalGate], [FlightData].[dbo].[FlightHistory].[ArrivalTerminal], [FlightData].[dbo].[FlightHistory].[BaggageClaim], [FlightData].[dbo].[FlightHistory].[CreationDate], [FlightData].[dbo].[FlightHistory].[CreatorCode], [FlightData].[dbo].[FlightHistory].[DepartureAirportTimeZoneOffset], [FlightData].[dbo].[FlightHistory].[DepartureDate], [FlightData].[dbo].[FlightHistory].[Depart ureGate], [FlightData].[dbo].[FlightHistory].[DepartureTerminal], [FlightData].[dbo].[FlightHistory].[DestinationID] AS [DestinationId], [FlightData].[dbo].[FlightHistory].[DivertedAirportTimeZoneOffset], [FlightData].[dbo].[FlightHistory].[DivertedID] AS [DivertedId], [FlightData].[dbo].[FlightHistory].[EstimatedGateArrivalDate], [FlightData].[dbo].[FlightHistory].[EstimatedGateDepartureDate], [FlightData].[dbo].[FlightHistory].[EstimatedRunwayArrivalDate], [FlightData].[dbo].[FlightHistory].[EstimatedRunwayDepartureDate], [FlightData].[dbo].[FlightHistory].[FlightHistoryId], [FlightData].[dbo].[FlightHistory].[FlightNumber], [FlightData].[dbo].[FlightHistory].[ModifitedDate], [FlightData].[dbo].[FlightHistory].[OriginID] AS [OriginId], [FlightData].[dbo].[FlightHistory].[PublishedArrivalDate], [FlightData].[dbo].[FlightHistory].[PublishedDepartureDate], [FlightData].[dbo].[FlightHistory].[ScheduledAircraftType], [FlightData].[dbo].[FlightHistory].[ScheduledAirTime], [FlightData].[dbo].[FlightHistory].[Schedu ledBlockTime], [FlightData].[dbo].[FlightHistory].[ScheduledGateArrivalDate], [FlightData].[dbo].[FlightHistory].[ScheduledGateDepartureDate], [FlightData].[dbo].[FlightHistory].[ScheduledRunwayArrivalDate], [FlightData].[dbo].[FlightHistory].[ScheduledRunwayDepartureDate], [FlightData].[dbo].[FlightHistory].[Status], [FlightData].[dbo].[FlightHistory].[StatusCode], [FlightData].[dbo].[FlightHistory].[TailNumber] FROM [FlightData].[dbo].[FlightHistory] WHERE ( ( [FlightData].[dbo].[FlightHistory].[ArrivalDate] BETWEEN @p1 AND @p2)) Parameter: @p1 : DateTime. Length: 0. Precision: 0. Scale: 0. Direction: Input. Value: 6/27/2012 10:30:16 AM. Parameter: @p2 : DateTime. Length: 0. Precision: 0. Scale: 0. Direction: Input. Value: 6/27/2012 1:00:16 PM.

If convert that Debug to t-SQL and run it in SQL Server Manager as this

Declare @p1 datetime ='6/27/2012 10:30:16 AM' Declare @p2 datetime= '6/27/2012 1:00:16 PM' SELECT [FlightData].[dbo].[FlightHistory].[ActualAircraftType], [FlightData].[dbo].[FlightHistory].[ActualAirTime], [FlightData].[dbo].[FlightHistory].[ActualBlockTime], [FlightData].[dbo].[FlightHistory].[ActualGateArrivalDate], [FlightData].[dbo].[FlightHistory].[ActualGateDepartureDate], [FlightData].[dbo].[FlightHistory].[ActualRunwayArrivalDate], [FlightData].[dbo].[FlightHistory].[ActualRunwayDepartureDate], [FlightData].[dbo].[FlightHistory].[AirlineID] AS [AirlineId], [FlightData].[dbo].[FlightHistory].[ArrivalAirportTimeZoneOffset], [FlightData].[dbo].[FlightHistory].[ArrivalDate], [FlightData].[dbo].[FlightHistory].[ArrivalGate], [FlightData].[dbo].[FlightHistory].[ArrivalTerminal], [FlightData].[dbo].[FlightHistory].[BaggageClaim], [FlightData].[dbo].[FlightHistory].[CreationDate], [FlightData].[dbo].[FlightHistory].[CreatorCode], [FlightData].[dbo].[FlightHistory].[DepartureAirportTimeZoneOffset], [FlightData].[dbo].[FlightHistory].[DepartureDate], [FlightData].[dbo].[FlightHistory].[DepartureGate], [FlightData].[dbo].[FlightHistory].[DepartureTerminal], [FlightData].[dbo].[FlightHistory].[DestinationID] AS [DestinationId], [FlightData].[dbo].[FlightHistory].[DivertedAirportTimeZoneOffset], [FlightData].[dbo].[FlightHistory].[DivertedID] AS [DivertedId], [FlightData].[dbo].[FlightHistory].[EstimatedGateArrivalDate], [FlightData].[dbo].[FlightHistory].[EstimatedGateDepartureDate], [FlightData].[dbo].[FlightHistory].[EstimatedRunwayArrivalDate], [FlightData].[dbo].[FlightHistory].[EstimatedRunwayDepartureDate], [FlightData].[dbo].[FlightHistory].[FlightHistoryId], [FlightData].[dbo].[FlightHistory].[FlightNumber], [FlightData].[dbo].[FlightHistory].[ModifitedDate], [FlightData].[dbo].[FlightHistory].[OriginID] AS [OriginId], [FlightData].[dbo].[FlightHistory].[PublishedArrivalDate], [FlightData].[dbo].[FlightHistory].[PublishedDepartureDate], [FlightData].[dbo].[FlightHistory].[ScheduledAircraftType], [FlightData].[dbo].[FlightHistory].[ScheduledAirTime], [FlightData].[dbo].[FlightHistory].[ScheduledBlockTime], [FlightData].[dbo].[FlightHistory].[ScheduledGateArrivalDate], [FlightData].[dbo].[FlightHistory].[ScheduledGateDepartureDate], [FlightData].[dbo].[FlightHistory].[ScheduledRunwayArrivalDate], [FlightData].[dbo].[FlightHistory].[ScheduledRunwayDepartureDate], [FlightData].[dbo].[FlightHistory].[Status], [FlightData].[dbo].[FlightHistory].[StatusCode], [FlightData].[dbo].[FlightHistory].[TailNumber] FROM [FlightData].[dbo].[FlightHistory] WHERE ( ( [FlightData].[dbo].[FlightHistory].[ArrivalDate] BETWEEN @p1 AND @p2))

I get 160 results.

Any and all insight is very appreciated.

Thanks Tim

Walaa avatar
Walaa
Support Team
Posts: 14995
Joined: 21-Aug-2005
# Posted on: 27-Jun-2012 19:05:48   

Are you sure the code is targeting the same database you are testing on.

Tlaughlin
User
Posts: 8
Joined: 19-May-2004
# Posted on: 27-Jun-2012 19:41:05   

Walaa wrote:

Are you sure the code is targeting the same database you are testing on.

Exactly what the problem was. Sorry for the rookie mistake. Was just about to come back post just that.

Thanks