zoukankan      html  css  js  c++  java
  • 【MOSS】SPListItems操作

    1、快速删除SPListItems集合

    在Sharepoint开发中可能需要一次删除成百上千条记录,这时候如果轮询SPList.Items并直接调用该对象的删除方法来删除的话性能极差,会叫你崩溃。

    下面介绍一个快速删除大量数据的方法:

    using (SPWeb myweb = mysite.AllWebs[“XXXX”])

    {

    SPListItemCollection itemsCollection=CurrentList.Items;

    StringBuilder sbDelete = new StringBuilder();

    sbDelete.Append("<?xml version="1.0" encoding="UTF-8"?><Batch>");

    foreach (SPListItem item in itemsCollection)

    {

        sbDelete.Append("<Method>");

        sbDelete.Append("<SetList Scope="Request">" + CurrentList.ID + "</SetList>");

        sbDelete.Append("<SetVar Name="ID">" + Convert.ToString(item.ID) + "</SetVar>");

        sbDelete.Append("<SetVar Name="Cmd">Delete</SetVar>");

        sbDelete.Append("</Method>");

    }

    sbDelete.Append("</Batch>");

    try

    {

        myweb.ProcessBatchData(sbDelete.ToString());

    }

    catch (Exception ex)

    {

    Console.WriteLine("Delete failed: " + ex.Message);

    throw;

    }

    }

    要非常注意的是使用该方法大量删除的条目将进入回收站,按照这里的一篇文章的说法,大量的条目在回收站会在某一天导致你的服务器和数据库CPU被占用达100%

    2、SPListItem属性参考

    假如访问网站地址为:

    http://www.xxx.com/it/Documents/VS.txt

    属性                                                       名称值
    item.File.ServerRelativeUrl                        /it/Documents/VS.txt
    Item.URL                                               Documents/VS.txt
    Item.File.Url                                           Documents/VS.txt
    Item.DisplayName                                   VS
    item.Name                                              VS.txt

  • 相关阅读:
    js正则表达式
    js遍历对象属性
    C# 带Cookies发送请求
    C# Cookies设置和读取
    C# ref 和 out 的使用
    jq 禁用复选框 和输入框
    C++学习之嵌套类和局部类
    C++学习之this指针
    C++学习之运算符重载的总结
    Labview中引用,属性节点,局部变量之间的区别
  • 原文地址:https://www.cnblogs.com/BruceGoGo/p/3710360.html
Copyright © 2011-2022 走看看