zoukankan      html  css  js  c++  java
  • SPQuery 的Where 子句的用法

    1、一个条件实例

    <Where>
      <Eq>
    <FieldRef Name='Name'/>
     <Value Type='Text'>Mark</Value>
    </Eq> 
    </Where>

    2、两个条件实例

     <Where>
     <Or>
       <Eq>
       <FieldRef Name='Name'/>
       <Value Type='Text'>Joe</Value>
      </Eq>
      <Eq>
       <FieldRef Name='Name'/>
       <Value Type='Text'>Linda</Value>
      </Eq>
    </Or> 
    </Where>

    3、三个条件实例

    <Where> 
    <Or>
       <Eq>
       <FieldRef Name='Name'/>
       <Value Type='Text'>Mark</Value>
      </Eq>
       <Or>
        <Eq>
        <FieldRef Name='Name'/>
        <Value Type='Text'>Joe</Value>
       </Eq>
       <Eq>
        <FieldRef Name='Name'/>
        <Value Type='Text'>Linda</Value>
       </Eq>
      </Or>
    </Or>
     </Where>

    4、使用SPQuery来查询列表中item信息:

    SPQuery query = new SPQuery();
    query.ViewFields = @"<FieldRef Name='Title'/><FieldRef Name='Created'/>";
    query.Query = @"<Where>
        <Neq>
         <FieldRef Name='Created' />
         <Value Type='DateTime'>
         <Today /></Value>
        </Neq>
      </Where>";
    SPList list = web.Lists["AnnouList"];
    SPListItemCollection items = list.GetItems(query);
    foreach (SPListItem expiredItem in items)
    {
      Console.WriteLine(expiredItem["Title"]);
      Console.WriteLine(expiredItem["Created"]);
    } 

    ViewFields 表示你查询后要返回的字段
    Query表示查询过滤的表达式,使用CAML语言

    5、使用SPSiteDataQuery来查询列表中item信息:

    SPSiteDataQuery query = new SPSiteDataQuery();
    query.Lists = @"<Lists ServerTemplate='104' />";
    query.ViewFields = @"<FieldRef Name='Title'/><FieldRef Name='Created'/>";
    query.Webs = "<Webs Scope='SiteCollection' />";
    string queryText =@"<Where>
       <Neq>
          <FieldRef Name='Created' />
          <Value Type='DateTime'>
          <Today /></Value>
         </Neq>
       </Where>";
    query.Query = queryText;
    DataTable table = web.GetSiteData(query);
    foreach (DataRow row in table.Rows)
    {
       Console.WriteLine(row["Title"].ToString() + row["Created"].ToString());
    } 

    query.Lists = @"<Lists ServerTemplate='104' />";中104代表通知列表类型

    query.Webs = "<Webs Scope='SiteCollection' />";为查询的范围。
    CAML的基本格式是这样的:“<Where><operator><operand /><operand /></operator> </Where>”.

    使用SPQuery返回的是SPListItemCollection,而SPSiteDataQuery可以从不同的列表或是整个网站集查,实际上是返回了一个ADO.NET DataTable对象。

    下表是CAML查询的一些简单说明:

    元素

    说明

    And

    并且

    BeginsWith

    以某字符串开始的

    Contains

    包含某字符串

    Eq

    等于

    FieldRef

    一个字段的引用 (在GroupBy 中使用)

    Geq

    大于等于

    GroupBy

    分组

    Gt

    大于

    IsNotNull

    非空

    IsNull

    Leq

    小于等于

    Lt

    小于

    Neq

    不等于

    Now

    当前时间

    Or

    OrderBy

    排序

    Today

    今天的日期

    TodayIso

    今天的日期(ISO格式)

    Where

    Where子句

  • 相关阅读:
    PetaPOCO 一对多 多对一 多对多
    PetaPoco使用要点
    MySQL_杭州北仓 12.3-12.7需求活动期间累计下单达到3天及以上的客户_20161212
    Python 2.7_Second_try_爬取阳光电影网_获取电影下载地址并写入文件 20161207
    Python 2.7_First_try_爬取阳光电影网_20161206
    MySQL计算销售员昨日各指标综合得分_20161206
    MySQL_关于用嵌套表计算的可以不用 20161205
    MySQL_财务统计各产品品类各城市上周收入毛利表_20161202
    借助取色工具ColorPix对Pycharm编辑器设定自己喜欢的代码颜色_20161202
    python2.7 爬虫_爬取小说盗墓笔记章节及URL并导入MySQL数据库_20161201
  • 原文地址:https://www.cnblogs.com/masahiro/p/10129194.html
Copyright © 2011-2022 走看看