我们正在使用筛选条件从存储数据库 (SQL Server) 中检索值。
为了检索它们的 StartDate 和 EndDate 的各种事件组件库,我们编写了下面提到的代码。
ItemSchemaCriteria isEvent= new ItemSchemaCriteria(SchemaID);
Query query= new Query();
Criteria mainCriteria;
mainCriteria = CriteriaFactory.And(isEvent, isEvent);
DateTime lowerDate = DateTime.Now;
DateTime lower;
string lowerDateString=lowerDate.ToString("yyyy-MM-dd HH:mm:ss.000");
lower=Convert.ToDateTime(lowerDateString);
CustomMetaKeyCriteria dateKeyCriteria = new CustomMetaKeyCriteria("EventStartDate",Criteria.GreaterThanOrEqual);
CustomMetaValueCriteria dateValueCriteria = new CustomMetaValueCriteria(dateKeyCriteria,lower);
CustomMetaKeyCriteria dateEndKeyCriteria = new CustomMetaKeyCriteria("EventEndDate",Criteria.GreaterThanOrEqual);
CustomMetaValueCriteria dateEndValueCriteria = new CustomMetaValueCriteria(dateEndKeyCriteria,lowerDate);
Criteria OrCriteria=CriteriaFactory.Or(dateValueCriteria,dateEndValueCriteria);
mainCriteria = CriteriaFactory.And(mainCriteria,OrCriteria);
当我们指定确切的日期和时间(2012-10-30 16:00:00.000)时,上面的代码会给我们一些记录。但是当我们尝试给出 Fromdate 和 ToDate(10 天跨度)时,即使我们在数据库中有一些记录,也不会返回任何记录。我们在指定 dateKeyCriteria 时是否犯了任何错误,它将返回指定 EventStartDate 和 EventEndDate 之间的所有事件?