public static TrackingReplay.TrackPoints GetHistoryTrackingData(string carNumber, DateTime startTime, DateTime endTime) { if (startTime - endTime > new TimeSpan() || string.IsNullOrEmpty(carNumber)) { return(new TrackPoints()); } System.Data.OleDb.OleDbConnection oConn = BaseHandler.DatabaseManager.GetOleDbConnection(GlobeVariables.ConfigureInfos.TrackingReplayConfigureInfos.LocalDatabaseLocation); string sDataTableName = GlobeVariables.ConfigureInfos.TrackingReplayConfigureInfos.TrackingTableName; string sQueryString = string.Format("select distinct * from {0} where carnumber='{1}'", sDataTableName, carNumber); DataTable dtTrackings = BaseHandler.DatabaseManager.GetData(oConn, sQueryString); //string sFilterString = string.Format("currentTime >= #{0}# and currentTime <= #{1}#", startTime.ToString() + "." + startTime.Millisecond.ToString(), endTime.ToString() + "." + endTime.Millisecond.ToString()); //dtTrackings.Columns["currenttime"].Expression = "convert(currenttime,'System.DateTime')"; //dtTrackings.Columns["currenttime"].DataType = typeof(DateTime); //DataRow[] drResults = dtTrackings.Select(sFilterString, "currenttime desc"); TrackPoints oInputData = ConvertDataTableToTrackingPoints(dtTrackings, startTime, endTime); oInputData.Sort((new BaseHandler.MyComparison <TrackingReplay.TrackPoint>()).GetComparison(GPSTrackingMonitor.BaseHandler.ComparisonType.ASC)); return(oInputData); }