2013-10-01 1 views
0

CAML 쿼리를 사용하여 일정 범위의 이벤트를 검색하고 있습니다. 날짜 범위의 이벤트가 있지만 현재 아무것도 검색하지 않습니다CAML 쿼리가 SharePoint 일정의 날짜 범위를 검색 중입니다.

내 CAML 쿼리에 문제가 있습니까? 잘못된 케이스와

DateTime todayDate = DateTime.Now.Date; 

DateTime tomorrowDate = todayDate.AddDays(1); 
tomorrowDate = tomorrowDate.AddSeconds(-1); 

query.Query = "<Query><Where><And><Geq><FieldRef Name=\"StartTime\" /><value IncludeTimeValue=\"true\" type=\"DateTime\">" + todayDate + "</value></Geq><leq><FieldRef Name=\"EndDate\"/><Value IncludeTimeValue=\"true\" Type=\"DateTime\">" + tomorrowDate + "</value></leq></And></Where><Query>"; 
query.ExpandRecurrence = true; 

query.ViewFields = @"<FieldRef Name='Title' /><FieldRef Name='EventDate' /><FieldRef Name='EndDate' />"; 

SPListItemCollection items = list.GetItems(query); 

foreach (SPListItem listItem in items) 
{ 
    retrievedData.Add(listItem["Title"].ToString()); 
    retrievedData.Add(listItem["EventDate"].ToString()); 
    retrievedData.Add(listItem["EndDate"].ToString()); 
} 

답변

0

귀하의 질의 요소를 포함 valueleq : 내가 쿼리 라인

여기 내 코드는 멀리 걸릴 때 모든 이벤트를 검색 할 수 있습니다. 올바른 케이스는 ValueLeq입니다 (this 참조). 또한 쿼리에서 잘못된 날짜 형식을 사용합니다. SPUtility.CreateISO8601DateTimeFromSystemDateTime 메서드를 사용하여 날짜를 문자열로 지정해야합니다 (this 참조). IncludeTimeValue 속성에 false/true 대신 FALSE/TRUE을 사용하십시오.

관련 문제