首页 / 软件开发 / .NET编程技术 / 使用WSS的Lists.UpdateListItems()方法之被截断的CAML
使用WSS的Lists.UpdateListItems()方法之被截断的CAML2011-09-20 博客园 JaxuMicrosoft的WSS(Windows Sharepoint Services)公开了很多用于访问和管理Sharepoint站点的方法 ,在调用这些方法时可以通过CAML(Collaborative Application Markup Language)进行一些操作。其 中Lists.UpdateListItems()方法提供了用于向Sharepoint List增、删、改数据的方法,但是需要通过 CAML语句告诉Sharepoint如何更新数据,有关如何使用CAML以及如何编写CAML进行List数据更新,读者可 以参考微软的MSDN文档。http://msdn.microsoft.com/zh-cn/library/websvclists.lists.updatelistitems.aspx顺便再给出调用Sharepoint站点的Web Service的地址:http://Sitename/_vit_bin/lists.asmx?op=UpdateListItems在使用Lists.UpdateListItems方法时,所使用的用于更新数据的CAML类似于下面这样:<Batch OnError="Continue">
<Method ID="1" Cmd="New">
<Field Name="Title">Hello<Field>
<Field Name="Document">5</Field>
</Method>
<Method ID="2" Cmd="New">
<Field Name="Title" >World</Field>
<Field Name="Document">5</Field>
</Method>
</Batch>
也就是说我们可以在同一段CAML中批量操作数据。不过最近在实际应用中遇到了一个问题,那就是当 我要更新的记录太多,比如20000行,可能我需要写一段特别长的CAML,这个时候当我们在程序中调用Web Service时WSS会给出这样的错误。Some part of your SQL statement is nested too deeply. Rewrite the query or break it up into smaller queries.