首先要了解的是CAML(Collaboration Application Markup Language)不仅仅是用在对列表、文档库的查询,字段的定义,站点定义等处处使用的都是CAML。

简单的提一下CAML列表查询相关知识,请注意CAML查询无论对于标签还是值均大小写敏感

CAML查询的根元素是Query,Query元素包含两个元素(非必须):<OrderBy>, <Where>

<OrderBy>

<OrderBy>是最简单的元素,用来为返回的数据排序,语法如下:

<OrderBy>

<FieldRef Name='LastName' Ascending='False' />(默认为升序Ascending.)

</OrderBy>

<OrderBy>语法并非必须且可以在查询中使用多个OrderBy。

<Where>

<Where>元素用来指定查询条件,此元素语法非常简单,但根据具体的情况也会写得非常的复杂。

<Where>

<Eq>

<FieldRef Name='LastName' />

<Value Type='Text'>Johnson</Value>

</Eq>

</Where>

操作符有:Eq等于;Neq不等于;Gt大于;Geq大于等于;Lt小于;Leq小于等于;IsNull是否空;BeginsWith开始于;Contains包含

字段FieldRef元素可以是列表中的任何一个字段,如果使用Name属性则必须指定内部名称,也可以使用ID属性指定字段的GUID;

值Value元素指定具体的查询条件,如果没有指定默认是Text,DateTime的使用复杂些稍候详细说明。

如果查询的字段类别是lookup,指定值的时候可以指定具体值也可以指定ID,如果需要指定ID,需要在FieldRef元素里指定LookupId为true,例:

<where>

<Eq>

<FieldRef Name='Country' />

<Value Type='Lookup'>China</Value>

</Eq>

</Where>

或者

<where>

<Eq>

<FieldRef Name='Country' LookupId='True' />

<Value Type='Lookup'>15</Value>

</Eq>

</Where>

如果想指定两个查询条件,需要指定And或者Or

<Where>

<And>

<Eq>

<FieldRef Name='LastName' />

<Value Type='Text'>Wang</Value>

</Eq>

<Geq>

<FieldRef Name='Age' />

<Value Type='Number'>21</Value>

</Geq>

</And>

</Where>

如果有两个以上的查询条件需要按比较特殊的方式来指定:

<Where>

<And>

<And>

<Eq>

<FieldRef Name='LastName' />

<Value Type='Text'>Wang</Value>

</Eq>

<Geq>

<FieldRef Name='Age' />

<Value Type='Number'>21</Value>

</Geq>

</And>

<Lt>

<FieldFef Name='Age' />

<Value Type='Number>60</Value>

</Lt>

</And>

</Where>

查询条件再多按此类推。

[总结]SHAREPOINT - CAML列表查询(上)的更多相关文章

  1. SHAREPOINT - CAML列表查询

    首先要了解的是CAML(Collaboration Application Markup Language)不仅仅是用在对列表.文档库的查询,字段的定义,站点定义等处处使用的都是CAML. 简单的提一 ...

  2. SharePoint中跨列表查询

    1,最近的项目中遇到一个需求,站点中有几十个列表,其中每5,6个列表属于一个模块下的.客户的需求是,首页上显示一个模块下所有列表数据的前5条,并按创建时间排序. 2,刚刚考虑到这块的实现方法时,用的是 ...

  3. SharePoint 2013 列表多表联合查询

    在SharePoint的企业应用中,遇到复杂的逻辑的时候,我们会需要多表查询:SharePoint和Sql数据表一样,也支持多表联合查询,但是不像Sql语句那样简单,需要使用SPQuery的Joins ...

  4. 【Javascript】列表查询页面,简单地保存上一次查询的查询参数

    开发中经常做一些查询参数 + 列表参数的功能,这些功能有时候需提供导出Excel,或带超链接到其他明细页面的功能点. 在一些交互性要求严格的系统,需求方会要求: 用户第一个输入某些查询条件进行列表查询 ...

  5. Sharepoint 2013列表视图和字段权限扩展插件(免费下载)!

    记得2014年春节期间,有博客园的网友通过QQ向我咨询Sharepoint 2013列表视图和字段权限扩展,因为之前他看到我博客介绍Sharepoint 2010列表视图和字段的权限控制扩展使用,问有 ...

  6. sharepoint 2013 列表和库标签 元数据导航配置(2)

    接前面提到的,如何创建一个术语库.sharepoint 2013 列表和库标签 元数据导航配置(1), 现在要做的,就是如何在自定义或者文档库中使用这个术语库,实现标签功能,通过这些标签,找到对应的文 ...

  7. SharePoint CAML In Action——Part II

    在SharePoint中,相对于Linq to SharePoint而言,CAML是轻量化的.当然缺点也是显而易见的,"Hard Code"有时会让你抓狂.在实际场景中,经常会根据 ...

  8. SharePoint CAML In Action——Part I

    在SharePoint中,我们经常要对List进行操作,比如要从List中取出相应的ListItem,利用CAML是个好办法.在没了解CAML之前,我是这样取数据的: MyList.Items.Cas ...

  9. SharePoint 创建列表并使用Windows Presentation Foundation应用程序管理列表

    SharePoint创建列表并使用程序管理列表         列表是SharePoint开发者输入数据的方式之中的一个.使用Web界面创建一个列表并加入一些数据.过程例如以下: 1. 打开站点. 2 ...

随机推荐

  1. linux的理解

    1.用户组 因为linux 是多人多任务系统 所有可能有很多人在主机人作业.比如 有A B C D 4个人 在linux主机上作业, A B C 3个人 在做同一个项目 建了一个文件夹这个文件只能A ...

  2. 本地命令上传文件到服务器以及linux编辑过程中非正常退出问题

    一.上传文件到linux服务器首先从你本地切换到你要上传文件的目录,接下来:scp 文件名字 服务器用户名字@服务器ip:存储路径例子:scp  index.html  root@106.75.229 ...

  3. P2896 [USACO08FEB]一起吃饭Eating Together

    传送门 可以考虑DP 设 f [ i ] [ 1/2/3 ] [ 0/1 ] 表示当前考虑到第 i 头牛,打算让当前位置的编号变成 1/2/3,并且打算让整段序列上升/下降 0/1 然后就对每种情况慢 ...

  4. Java换行符

    public static final String NewLineSeparator=System.getProperty("line.separator","\n&q ...

  5. day_11 生成器

    . 生成器本身是迭代器 .写迭代器的方式 .生成器函数 .生成器表达式 .各种推导式 .生成器函数 函数内部有yield, yield返回->return yield把函数分段进行 生成器可以使 ...

  6. python3 repr()函数笔记

    a=[1,2,3,4]print(repr(a))print(type(repr(a)))for i in repr(a): print(i)#repr函数是将对象转换成string类型

  7. tomcat 虚拟目录配置appBase和docBase的区别

    先看server.xml文件host配置   <Host name="localhost" appBase="webapps"      可以修改成自己想 ...

  8. @AutoConfigureAfter不生效 @Configration bean的创建顺序

    https://gooroo.io/GoorooTHINK/Article/17466/Lessons-Learned-Writing-Spring-Boot-Auto-Configurations/ ...

  9. pthread_cond_wait函数的学习以及其他

    pthread_cond_wait() 前使用 while 讲解2009-10-27 9:33LINUX环境下多线程编程肯定会遇到需要条件变量的情况,此时必然要使用pthread_cond_wait( ...

  10. PlayMaker 设置颜色 Set Materia lColor

    1. 指定一个游戏对象,Color处设为红色,执行这个行为后就把游戏对象的材质变为了红色: 2. Color也可以使用一个弄好的Color类型的变量,如下图:Color处用了一个提前设置好的变量