(三)使用SPQuery进行列表查询
1、概述
列表查询主要是指在一个指定的列表(或文档库)中按照某些筛选、排序条件进行查询。列表查询主要使用SPQuery对象,以及SPList的GetItems方法,将SPQuery作为参数传递,返回查询到的列表条目集合,即SPListItemCollection类型。
在使用SPQuery进行列表查找的时候,其中一些属性指定了其查找的特性:
Query属性:通过该属性指定CAML格式的筛选条件和排序条件(见上文),如果不指定,则默认返回范围内的所有条目;
Folder属性:通过该属性指定在特定文件夹范围内进行查找,如果不指定,则为列表或文档库的根文件夹;
RowLimit属性:指定一次返回多少个条目,如果不指定,则返回所有条目;通过这个属性与ListItemCollectionPosition属性配合,可以实现列表条目的分页查找;出于性能考虑,建议在一般情况下,都指定一个合理的RowLimit值,在SharePoint 2010中,系统也会自动对查询返回结果的数量上进行一些限制和过滤(见后文关于查询阈值的描述);
ViewFields属性:指定CAML格式的返回字段(见上文),如果不指定,则默认返回所有字段;
ViewAttributes属性:这个属性主要和Folder属性配合使用,用于指定查询范围,如果不指定,则查找指定文件夹下的条目和子文件夹(详见后文)。
下面是一个列表查询的例子:
))
2: {
using(SPWeb web = site.OpenWeb())
4: {
];
new SPQuery();
+
+
;
;
11: SPListItemCollection items = list.GetItems(query);
in items)
]));
14: }
15: }