오늘에 끄적거림 입니다.
JohnHolliday.Caml.Net.dll 을 이용하여 같단하게 Caml 쿼리를 만들 수 있습니다.
위에 DLL 올려 놨어요~~
우선 프로젝트 참조에 추가 하고
상단에 using JohnHolliday.Caml.Net; 추가 합니다.
using (SPSite suSite = new SPSite("http://mysite"))
{
using (SPWeb suWeb = suSite.OpenWeb())
{
string strScript = string.Empty;
string whereCondition = string.Empty;
SPList awardList = suWeb.Lists["mylist"];
whereCondition = CAML.Eq(CAML.FieldRef("Title"), CAML.Value("테스트"));
SPQuery awardQuery = new SPQuery();
awardQuery.Query = CAML.Where(whereCondition);
awardQuery.RowLimit = Convert.ToUInt32(awardList.ItemCount);
SPListItemCollection awardItems = awardList.GetItems(awardQuery);
}
}
CAML.Eq(CAML.FieldRef("Title"), CAML.Value("테스트")); <--이 부분
기존 XML 형식의 Caml 쿼리가
<Eq><FieldRef Name=\"Title\" /><Value Type=\"Text\">테스트</ Value></Eq> <-- 요거
Intelligence 기능을 사용하기에 XML 하나씩 다외우지 않아도 쉽게 할 수 있다는 장점입니다.
조건이 많아 질수록 확실히 체감 할 수 있습니다.
간단 예제로 And,Or 조건이 함께 사용 할 때 입니다.
whereCondition = CAML.Eq(CAML.FieldRef("Title"), CAML.Value("테스트"));
whereCondition = CAML.And(whereCondition, CAML.Eq(CAML.FieldRef("State"), CAML.Value("1")));
whereCondition = CAML.Or(whereCondition, CAML.Eq(CAML.FieldRef("State"), CAML.Value("2")));
Ms Sql 쿼리 로는 where (Title = '타이틀' And State = '1') Or State = '2' 요정도가 될 것 같네요
'SharePoint > SharePoint 개발' 카테고리의 다른 글
SharePoint PopUp 창 뛰우기-2 (0) | 2012.05.09 |
---|---|
SharePoint Popup 창 뛰우기-1 (0) | 2012.05.08 |
SharePoint SPQuery-2 (0) | 2012.04.25 |
SharePoint-CAML (0) | 2012.04.24 |
SharePoint SPQuery-1 (0) | 2012.04.23 |