Sharepoint 2007 CAML更新正在运行,但未更改数据(Sharepoint 2007)

Sharepoint 2007 CAML更新正在运行,但未更改数据(Sharepoint 2007),sharepoint-2007,caml,Sharepoint 2007,Caml,我一直在尝试根据以下MSDN示例为MOSS站点创建一个批处理更新程序:。不幸的是,尽管更新查询正在运行,没有出现错误,但列表中的数据没有更改 以下是我使用的批处理命令: <Method ID="3767"> <SetList>8468cf0a-7e10-439c-a9b4-4197543e7b38</SetList> <SetVar Name="Cmd">Save</SetVar> <SetVar Name="ID"&

我一直在尝试根据以下MSDN示例为MOSS站点创建一个批处理更新程序:。不幸的是,尽管更新查询正在运行,没有出现错误,但列表中的数据没有更改

以下是我使用的批处理命令:

<Method ID="3767">
  <SetList>8468cf0a-7e10-439c-a9b4-4197543e7b38</SetList>
  <SetVar Name="Cmd">Save</SetVar>
  <SetVar Name="ID">3767</SetVar>
  <SetVar Name="Date_x0020_of_x0020_Birth1">1971-12-18T00:00:00Z</SetVar>
</Method>

8468cf0a-7e10-439c-a9b4-4197543e7b38
拯救
3767
1971-12-18T00:00:00Z
运行批处理更新命令时:

string batchReturn = web.ProcessBatchData(batch);
returns:
<Results>
  <Result ID="3767" Code="0"></Result>
</Results>
string batchReturn=web.ProcessBatchData(批处理);
返回:
列表项上的主要版本号会增加,但不会对字段中的数据进行更改:Date\u x0020\u of\u x0020\u Birth1

我被难住了

更多背景信息:Date_x0020_of_x0020_Birth1是添加到此列表的默认内容类型的新字段。它是一个日期时间字段。由于包含1900年1月1日之前的值,它取代了原始的出生日期字段(现在显示名称为“出生日期(文本)”),该字段是一个文本字段。批量更新是尽可能将日期从文本字段复制到新的日期时间字段

我唯一能想到的是我正在使用:

<SetVar Name="Cmd">Save</SetVar>
保存
也许我需要“更新”或“保存”命令,所以我尝试了以下方法:

<Method ID="1" Cmd="Update">
  <Field Name='ID'>3767</Field>
  <Field Name="Date_x0020_of_x0020_Birth1">1971-12-18T00:00:00Z</Field>
</Method>

3767
1971-12-18T00:00:00Z
但结果是:

<Results>37671971-12-18T00:00:00Z<Result ID="1" Code="-2130575350">
  <ErrorText>Invalid URL Parameter

  The URL provided contains an invalid Command or Value. Please check the URL again.    
  </ErrorText>
</Result>
3767Date_x0020_of_x0020_Birth1
<Result ID="1" Code="-2147023673">
<ErrorText>The operation failed because an unexpected error occurred. (Result Code: 0x800704c7)</ErrorText>
</Result>
</Results>
37671971-12-18T00:00:00Z
无效的URL参数
提供的URL包含无效的命令或值。请再次检查URL。
3767出生日期1
由于发生意外错误,操作失败。(结果代码:0x800704c7)
“Update”是正确的CMD,听起来更新很好(更新版本号)

这只会留下字段,它可能就是您正在使用的“名称”

您是否尝试使用urn前缀(urn:schemas microsoft com:office:office#Date _x0020 _of _x0020 _Birth1)

你可以尝试更新一个不同的字段,比如标题吗。(urn:com:office:office#Title)


如果这一切都失败了,你可以尝试使用列表上的UpdateList。asmx

谢谢,我会尝试使用urn前缀,我没有想到。我尝试了其他字段,它们也不会更新。事实上,我已经在周末使用web服务重新编写了这篇文章(因为我对此束手无策,需要让它正常工作),它可以与UpdateListItems服务一起正常工作,但我仍然想了解它的底细。谢谢,就这些:)