sharepoint
  • moss
  • wss
  • caml
  • 2010-06-02 52 views 0 likes 
    0

    我想使用SharePoint更新列表項,並且正在努力尋找1個體面的CAML示例。如何使用where子句通過Web服務更新SharePoint項目列表項?

    這是我想做的事,在SQL我的查詢會是這個樣子

    更新[表]設置字段=「值」,其中fieldID = ID;

    所以這將意味着我有一個項目在列表中我想更新1字段給定該listitem的ID。

    我已經試過這一點,但它不工作:

    batchElement.InnerXml = "<Method ID='1' Cmd='Update'>" + 
          "<Field Name='DeliveryStatus'>" + newStatus.ToString() + "</Field>" + 
          "<Where><Eq><FieldRef Name='ID' /><Value Type='Text'>" + id + "</Value></Eq></Where></Method>"; 
    

    回答

    0

    我會添加這個答案,爲社會,雖然它可能不回答你所有的問題。

    batchElement.InnerXml = "<Method ID='1' Cmd='Update'>" + 
           "<Field Name='ID'>" + id + "</Field>" + 
          "<Field Name='DeliveryStatus'>" + newStatus.ToString() + "</Field></Method>"; 
    

    看來你指定的第一個字段是where子句。

    我不知道如何做任何先進的過濾與此(nots或排除或在子句或範圍)。但希望這個基本信息有所幫助。

    0

    您不需要使用where子句來更新列表項。

    atchElement.InnerXml = "<Method ID='1' Cmd='Update'>" + 
          "<Field Name='DeliveryStatus'>" + newStatus.ToString() + "</Field>" + 
          "<FieldRef Name='ID' /><Value Type='Text'>" + id + "</Value></Method>"; 
    

    唯一需要做的就是提供上面的ID。

    +0

    如果您想更新所有項目,可以說有一個字段已啓用 - 值設置爲true,該怎麼辦? – 2010-06-03 11:09:35

    +0

    @JL我認爲你需要更新循環中的項目。我以前沒有做過。 – 2010-06-04 05:48:07

    相關問題