2012-05-16 3 views
1

В настоящее время я работаю с списками SharePoint, и я хочу получить некоторые конкретные списки. Следующий запрос Caml работает для меня и дает мне два элемента.Запрос Caml с UniqueID в SharePoint 2010

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

Когда я добавляю значение как «тест», я получаю исключение. Похоже, что запрос будет работать, только если у меня есть действительный UniqueId.

Как я могу сделать запрос Caml для поиска более двух уникальных идентификаторов в списке? (Вполне возможно, что UniqueID не существует. (Они из отдельной базы данных)

Может кто-то помочь рассказать мне об этом подробнее?

ответ

2

Используйте конструктор CAML запросов для SharePoint. Безотносительно перечислен в построителе действительный столбец можно запросить в SharePoint. Скачать конструктор для SharePoint 2007 here.

enter image description here

0

До тех пор, пока значение является действительным Guid, то вы будете иметь никаких проблем не делать то, что вы просите.

Из Вашего вопроса кажется, что вы пытаетесь

<Value Type='Lookup'>test</Value> 

, который даст вам исключение.

Если вы хотите попробовать с идентификатором вы знаете, у вас нет, попробуйте вместо этого с

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> 

И если вы хотите попробовать более двух элементов , просто вставьте больше элементов значения внутри элемента Значения.

Смежные вопросы