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

  • 相关阅读:
    oracle中文显示为问号
    oracle 11g 安装报错(agent_nmhs)
    yum源配置
    ora-00020
    mysql停止正在执行的SQL语句
    linux root用户被锁定
    MySQL8.0 根据ibd文件恢复表结构
    mysql 8.x 开启远程访问和修改root密码、
    个人博客迁移到github
    postman断言方式
  • 原文地址:https://www.cnblogs.com/BruceGoGo/p/3710360.html
Copyright © 2011-2022 走看看