zoukankan      html  css  js  c++  java
  • SPQuery特殊运用(时间及文档库类型)

    大家应该常用到SPQuery来进行筛选MOSS列表中的内容.

    最近用到时间筛选、存在文件夹的文档库内容(不是列表库)筛选就出现部分问题。下面做个笔记。

    首先我们温习下SPQuery语句,用大家都熟悉的SQL语法来和它做个比较,如下表:

    SPQuery SQL
    <Where></Where> Where
    <And></And> And
    <Or></Or> Or
    <Eq></Eq>   =
    <Geq></Geq> >=
    <Gt></Gt> >
    <Leq></Leq> <=
    <Lt></Lt> <
    <Neq></Neq> !=
    <IsNotNull></IsNotNull> !=null
    <IsNull></IsNull> = null
    <Contains><Contains> IN
    <BeginWith></BeginWith> Like '开始信息%'
    <OrderBy></OrderBy> Order By

    SPQuery中的时间筛选:

    1、处理时间格式,通过SPUtility.CreateISO8601DateTimeFromSystemDateTime()将时间转为 “yyyy-mm-ddThh:mm:ssZ”这个格式

    2、进行时间比较,需要添加 IncludeTimeValue='TRUE'

    SPQuery文档库中的筛选:

        添加query.ViewAttributes = "Scope='Recursive'"  遍历到文档库中的所有文件夹内容

    下面以查找昨天到现在修改的文件为例,如下:

    SPList list = web.Lists[DocListName]; 

    string date = SPUtility.CreateISO8601DateTimeFromSystemDateTime(DateTime.Now.AddDays(-1));  //查找昨天到现在修改的文件
    SPQuery query = new SPQuery();
    query.Query = "<Where><Gt><FieldRef Name=\"Last_x0020_Modified\"/><Value Type=\"DateTime\" IncludeTimeValue='TRUE'>" + date + "</Value></Gt></Where>";
    query.ViewAttributes = "Scope='Recursive'";      //设置范围为递归,包含子文件夹
    SPListItemCollection items = list.GetItems(query);

  • 相关阅读:
    Practice3_5_vector_sort_struct_gold_silver_bronze_playerName1
    Practice3_4_vector_sort_struct_string
    Practice3_3_vector_sort_struct
    Practice3_2_vector_sort_struct
    2017多校第9场 HDU 6170 Two strings DP
    BZOJ 3771 生成函数,FFT
    BZOJ 3028 食物 生成函数
    Codeforces Round #428 (Div. 2) 题解
    2017中国大学生程序设计竞赛
    2017多校第8场 HDU 6133 Army Formations 线段树合并
  • 原文地址:https://www.cnblogs.com/Anlycp/p/1595948.html
Copyright © 2011-2022 走看看