如何使用where子句通过Web服务更新sharepoint列表项?

时间:2010-06-02 18:25:16

标签: sharepoint moss wss caml

我想使用SharePoint更新列表项,并且我正在寻找一个体面的CAML示例。

这是我想要做的,在SQL中我的查询看起来像这样

更新[table] set field ='value',其中fieldID = id;

所以这意味着我在列表中有1个项目我想在给定该listitem的ID的情况下更新1个字段。

我试过这个,但它不起作用:

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>";

2 个答案:

答案 0 :(得分:0)

我会为社区添加此答案,但它可能无法回答您的所有问题。

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

您指定的第一个字段似乎是where子句。

我不知道您将如何使用此进行任何高级过滤(nots或exclusions或in子句或范围)。但希望这些基本信息有所帮助。

答案 1 :(得分: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。