2012-05-16 63 views
1

我目前正在使用SharePoint列表,並且希望獲得一些特定的列表項。下面的Caml查詢適用於我,併爲我提供了兩項。在SharePoint 2010中使用UniqueID的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? (這可能是一個唯一ID不存在。(他們來自一個單獨的數據庫)

有人可以幫我多講講這個?

回答

2

使用CAML查詢生成器的SharePoint。無論在構建器上市是,你可以在SharePoint查詢有效列。下載建設者SharePoint 2007的here

enter image description here

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元素即可。