본문 바로가기

SharePoint/SharePoint 개발

SharePoint 데이터 저장

이번 끄적거림은 데이터 저장 입니다.


생성한 목록에 데이터를 저장 해보려 합니다.


1. 새로운 데이터 저장

- MS SQL 로 치면 INSERT 에 해당하는 새로운 데이터 저장 방법 입니다.

   'TestList' 목록에 '저장' 이란 제목으로 저장해 보겠습니다.


//SPContext.Current.Site.ID 는 현재 실행하고 있는 Site 의 ID를 가지고 옵니다.

//SPSite RSite = new SPSite(http://mysite/) 와 같아요~

using (SPSite RSite = new SPSite(SPContext.Current.Site.ID))

{

    using (SPWeb Rweb = RSite.OpenWeb())

    {

        string WhereCondition = string.Empty;

        SPList Rlist = Rweb.Lists["TestList"];

        SPListItem spitem = Rlist.Items.Add();

        spitem["Title"] = "저장";

        spitem.Update();

    }

}


2. 데이터 수정

- MS SQL 로 치면 UPDATE 입니다.

  'TestList' 목록에 '저장' 이란 제목의 데이터를 '수정' 으로 수정해 보겠습니다.


//수정 할 데이터가 하나 인 경우

using (SPSite RSite = new SPSite(SPContext.Current.Site.ID))

{

    using (SPWeb Rweb = RSite.OpenWeb())

    {

        string WhereCondition = string.Empty;

        SPList Rlist = Rweb.Lists["TestList"];

        

        //저장 이라는 제목을 찾는 쿼리입니다.

        SPQuery Rquery = new SPQuery();

        WhereCondition = CAML.Eq(CAML.FieldRef("Title"), CAML.Value("저장"));

        Rquery.Query = CAML.Where(WhereCondition);

        //찾고자 하는 데이터가 하나이상 나오지 않을 경우는 RowLimit를 1로 넣으면 성능면에서도 좋겠죠~~

        Rquery.RowLimit = 1;

              

        SPListItemCollection items = Rlist.GetItems(Rquery);

     

        if (items.Count > 0)

        {

            //SPListItem 이 하나 이기에 SPListItemCollection 에 첫 번째 Item 을 선택 합니다.

            SPListItem spitem = items[0];

            spitem["Title"] = "수정";

            spitem.Update();

        }

    }

}


//수정 할 데이터가 하나 이상 인 경우

using (SPSite RSite = new SPSite(SPContext.Current.Site.ID))

{

    using (SPWeb Rweb = RSite.OpenWeb())

    {

        string WhereCondition = string.Empty;

        SPList Rlist = Rweb.Lists["ResultDate"];


        SPQuery Rquery = new SPQuery();

        WhereCondition = CAML.Eq(CAML.FieldRef("Title"), CAML.Value("저장"));

        Rquery.Query = CAML.Where(WhereCondition);

        //쿼리한 데이터의 개수를 알 수 없기에 현재 목록의 Item 만큼 RowLimit 걸어 줍니다.

        Rquery.RowLimit = Convert.ToUInt32(Rlist.ItemCount);


        SPListItemCollection items = Rlist.GetItems(Rquery);


        if (items.Count > 0)

        {

            foreach (SPListItem spitem in items)

            {

                spitem["Title"] = "수정";

    spitem.Update();

            }

        }

    }

}





'SharePoint > SharePoint 개발' 카테고리의 다른 글

Client Object Model - 정의  (0) 2012.05.24
SharePoint 데이터 삭제  (0) 2012.05.18
SharePoint PopUp 창 뛰우기-2  (0) 2012.05.09
SharePoint Popup 창 뛰우기-1  (0) 2012.05.08
SharePoint SPQuery-3  (0) 2012.04.26