1

現在、SharePoint リストを使用しており、特定のリスト項目を取得したいと考えています。次の Caml クエリは機能し、2 つのアイテムが返されます。

<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 をあきらめた場合にのみ、クエリが機能するようです。

リスト内の 3 つ以上の UniqueId を検索する Caml クエリを作成するにはどうすればよいですか? (UniqueId が存在しない可能性があります。(それらは別のデータベースから取得されます)

誰かがこれについてもっと教えてくれますか?

4

2 に答える 2

2

SharePoint用のCAMLクエリビルダーを使用します。Builderにリストされているものはすべて、SharePoint内でクエリできる有効な列です。ここからSharePoint2007のビルダーをダウンロードします。

ここに画像の説明を入力してください

于 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>

また、2 つ以上の要素を試してみたい場合は、Values 要素内にさらに Value 要素を挿入してください。

于 2013-01-30T11:48:28.393 に答える