转载: http://hi.baidu.com/ppdd521/blog/item/8b38ee31a20b1213eac4af01.html
1. 基本格式
这个功能上类似于SQL,从表单中提炼数据。不过是XML格式。如果拿它同SQL比较,CAML繁琐冗长,而且功能也较弱。基本格式如下:
<Query>
<Where>
<Eq>
<FieldRef Name="Colum1" />
<Value Type="TypeName">Toronto</Value>
</Eq>
</Where>
<OrderBy>
<FieldRef Name="Colum2" />
<FieldRef Name = "Column3" />
</OrderBy>
</Query>
Where语句里边写的是条件语句。Orderby是列名。
Where的子语句可以是Contains, Eq, Geq, Dt, Leq, Lt, Neq, DateRangesOverlap, IsNotNull, IsNull,这些的作用就是SQL里头的等号,大于号,小于号等等。然后再列上比较的内容。
有两种 FieldRef和Value。FieldRef 有一个属性叫Name,就是列名,Value有一个属性叫Type,后面有个值放在大于号和小于号之间。
Where语句的第一层子语句还可以是And,这样在里边可以写好几个不同的条件。EQ, GEQ这些就会被挪到下一层去。
2. 调用CAML
首先需要使用SharePoint API,就是
using Microsoft.SharePoint;
其次,从SPSite,SPWeb,SPList,SPQuery 一级级走下来,SPQuery有个属性叫Query,直接把上面的字符串放进去即可。
第三,Query结束后,生成一个SPListItemCollection的Object,用Foreach一个个看即可,里边每个元素叫SPListItem