在sharePoint 2013和VS2013开发过程中,遇到一些有关SPQuery的问题,下面做些总结。
Q1:我们用到了函数ContentIterator.ItemEnumerationOrderByNVPField,却在取查询结果count类型报错。
查找很久之后,经同事提醒说有可能是索引的问题。查看list里的详细之后,发现真的是用到的索引不存在。
注意,在新建list后,要注意索引有没有加。
Q2:用Spquery语句进行查询时,报错『不能处理完了查询』。
原因分析:一对<and></and>语句里放了三对<Eq></Eq>
解决方案:一对<and></and>语句里最多只能放两对<Eq></Eq>,调整Spquery语句后,错误消失。
Q3:当list里的字段不是英文时,SPQuery语句里<FieldRef name='*****'>,name对应的值是一串字符,无法一下子对应到相应的字段。
解决方案:点击VS左上角的连接到sharePoint的Server Explorer,连接到我们用的网站,找到list字段的属性,internalname的值
即是name对应的值。