본문 바로가기

SharePoint/SharePoint 개발

SharePoint SPQuery-3

오늘에 끄적거림 입니다.



JohnHolliday.Caml.Net.zip



JohnHolliday Caml 쿼리 입니다.

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