SharePoint : 使用SPQuery对象时要注意的事项
转:http://www.cnblogs.com/chenxizhang/archive/2009/10/23/1588415.html
我们经常需要对一个列表进行查询,此时最灵活的方式就是直接使用SPQuery对象。这个对象的查询语法称为CAML。一般为了简单起见,我们会通过下面这样小工具先生成一个查询范例
我们可以看到查询文本大致如下
<Query>
<Where>
<Contains>
<FieldRef Name='_x6d4b__x8bd5_' />
<Value Type='Text'>chenxizhang</Value>
</Contains>
</Where>
</Query>
点击"Test"之后,可以看到如下效果
下面,我们就很自然地想到将这个查询文本用于我们自己的SPQuery对象
SPSite site = new SPSite("http://localhost:8080");
SPWeb web = site.OpenWeb();
SPList list = web.Lists["测试文档库"];
SPQuery q = new SPQuery();
q.Query = string.Format("<Query><Where><Contains><FieldRef Name='{0}' /><Value Type='Text'>{1}</Value></Contains></Where></Query>", "_x6d4b__x8bd5_", "chenxizhang");
q.ViewFields = list.DefaultView.ViewFields.SchemaXml;
foreach (SPListItem item in list.GetItems(q))
{
Console.WriteLine(item.ID);
}
Console.WriteLine("完成查询");
以上代码看似很正常,但很奇怪的是,查询似乎没有起作用,因为它总是返回文档库全部的ListItem
经过检查和确认,一定要将<Query>这个根元素拿掉,才可以生效。所以这是典型的由工具产生的误导啊
SharePoint : 使用SPQuery对象时要注意的事项的更多相关文章
- EC笔记:第二部分:12、复制对象时勿忘其每一个成分
EC笔记:第二部分:12.复制对象时勿忘其每一个成分 1.场景 某些时候,我们不想使用编译器提供的默认拷贝函数(包括拷贝构造函数和赋值运算符),考虑以下类定义: 代码1: class Point{ p ...
- 序列化类型 System.Data.Entity.DynamicProxies 的对象时检测到循环引用
学习 EF Code First+MVC 时遇到了在请求JsonResult时出现 序列化类型 System.Data.Entity.DynamicProxies 的对象时检测到循环引用 的异常,原因 ...
- 创建COM对象时遭遇 800702e4
SolidEdge st5(x64) SDK /vs2012/win8.1 x64 西夏普创建SEApplication COM对象时遭遇800702e4.翻来覆去的调vs进程的权限,调se进程的权限 ...
- sharepoint 2010 页面刷新时滚动条位置保持不变 Controlling scrollbar position on postback
sharepoint 2010 页面刷新时滚动条位置保持不变 Controlling scrollbar position on postback在sharepoint 2010中,如果当前页面的篇幅 ...
- PHP“Cannot use object of type stdClass as array” (php在调用json_decode从字符串对象生成json对象时的报错)
php再调用json_decode从字符串对象生成json对象时,如果使用[]操作符取数据,会得到下面的错误 错误:Cannot use object of type stdClass as arra ...
- [ActionScript 3.0] AS3 用于拖动对象时跟随鼠标的缓动效果
package com.fylibs.components.effects { import flash.display.DisplayObject; import flash.events.Even ...
- 对于json对像,怎么遍历json对象的所有key,在使用json对象时,如果无法知道key,怎么通过key变量来获取值
对于json对像,怎么遍历json对象的所有key,在使用json对象时,如果无法知道key,怎么通过key变量来获取值?请参阅下面的关键代码: <html> <head> & ...
- 部署SharePoint解决方式包时遇到的问题
部署SharePoint解决方式包时遇到的问题 近期我在使用STSADM.EXE命令部署解决方式包的时候.遇到一个问题.很的难搞. 创建WSP文件非常easy.加入到解决方式库也非常e ...
- 序列化类型为“System.Reflection.Module”的对象时检测到循环引用
在使用ajax调用web services时,正好返回的类型为datatable,想用通过json方式直接解析,但调用后,得到如下错误: 序列化类型为“System.Reflection.Module ...
随机推荐
- 九度OJ 1511 从尾到头打印链表
题目地址:http://ac.jobdu.com/problem.php?pid=1511 题目描述: 输入一个链表,从尾到头打印链表每个节点的值. 输入: 每个输入文件仅包含一组测试样例. 每一组测 ...
- 结构型模式——Bridge(未完成)
1.意图 将抽象部分与它的实现部分分离,使它们都可以独立地变化.
- Sheepdog HTTP API
1.sheepdog中http simple storage中nginx后台配置文件模板留存: events { worker_connections 1024;} http { server { l ...
- C++字符串函数与C字符串函数比较
赋值拷贝: #include <iostream> #include <string> using namespace std; void main(){ string a=& ...
- MySQL中SQL语句的分类
1:数据定义语言(DDL) :创建和删除数据库(CREATE DATABASE || DROP DATABASE):2:创建.修改.重命名.删除表(CREATE TABLE || ALTER TA ...
- (转载)Delphi开发经验谈
Delphi开发经验谈 开发环境-------- Delphi 7是一个很经典的版本,在Win2000/XP下推荐安装Delphi 7来开发软件,在Vista下推荐使用Delphi 2007开发软件. ...
- 最近在无线USB网卡投入比较大
第一次(40): 乐光N18网卡 17 5米USB延长线 10 DVD2 3 运费10 第二次(30): 8187L主板13 5DB/6DB全向天线 5 外壳FREE 运费12 第三次(20): 8D ...
- 实例解析C++虚表
OS:Windows 7 关键字:VS2015,C++,V-Table,虚表,虚函数. 对C++ 了解的人都应该知道虚函数(Virtual Function)是通过一张虚函数表(Virtual Tab ...
- MVC5 学习笔记2
去除VS Browser Link废代码 在webconfig中添加 <configuration> <appSettings> <add key="vs:En ...
- Razor语法小记
1.代码块中,<text>标签用来输出,如: @{ <text>sdfsdf</text> } 输出Html: sdfsdf