1

我目前正在使用 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 可能不存在。(它们来自单独的数据库)

有人可以帮我详细介绍一下吗?

4

2 回答 2

2

使用 SharePoint 的 CAML 查询生成器。生成器中列出的任何内容都是您可以在 SharePoint 中查询的有效列。在此处下载 SharePoint 2007 构建器。

在此处输入图像描述

于 2012-05-18T01:34:08.363 回答
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 元素。

于 2013-01-30T11:48:28.393 回答