Sharepoint 2007 CAML更新正在运行,但未更改数据(Sharepoint 2007)
我一直在尝试根据以下MSDN示例为MOSS站点创建一个批处理更新程序:。不幸的是,尽管更新查询正在运行,没有出现错误,但列表中的数据没有更改 以下是我使用的批处理命令: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"&
<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服务一起正常工作,但我仍然想了解它的底细。谢谢,就这些:)