我目前正在使用SharePoint列表,我想获得一些特定的列表项目。以下Caml查询适用于我,并给了我两个项目。
<Where>
<In>
<FieldRef Name='UniqueId' />
<Values>
<Value Type='Lookup'>E0D2E6B2-28F5-4225-8DFD-9C1FFCC8A1CQ</Value>
<Value Type='Lookup'>EDDC5A33-38F9-4A8C-B3A8-1EED0AB98D02</Value>
</Values>
</In>
</Where>
当我添加像“test”这样的值时,我收到一个异常。似乎只有当我有一个有效的UniqueId放弃时,查询才会起作用。
如何进行Caml查询以在列表中查找两个以上的UniqueId? (有可能不存在UniqueId。(它们来自单独的数据库)
有人可以帮忙告诉我更多相关信息吗?
答案 0 :(得分:2)
使用SharePoint的CAML查询构建器。无论构建器中列出的是您可以在SharePoint中查询的有效列。下载SharePoint 2007的构建器here。
答案 1 :(得分:0)
只要该值是有效的Guid,那么您可以毫无疑问地做出您的要求。
从您的问题看来,您似乎正在尝试
<Value Type='Lookup'>test</Value>
会给你一个例外。
如果您想尝试使用您知道自己没有的ID,请尝试使用
string.Format("<Value Type='Lookup'>{0}</Value>", new Guid());
// <Value Type='Lookup'>00000000-0000-0000-0000-000000000000</Value>
或
string.Format("<Value Type='Lookup'>{0}</Value>", Guid.NewGuid());
// <Value Type='Lookup'>eebe4177-29ff-4ece-9daa-2c293fd9aebc</Value>
如果你想尝试使用两个以上的元素,只需在Values元素中插入更多的Value元素。