2008-10-14 27 views
2

在SP2007/MOSS CAML查詢項目,我需要對一個列表,像這樣運行CAML查詢:與給定的URL

<Where> 
    <Or> 
     <Eq> 
      <FieldRef Name='URL' /> 
      <Value Type='URL'>/path/item1.aspx</Value> 
     </Eq> 
     <Eq> 
      <FieldRef Name='URL' /> 
      <Value Type='URL'>/path/item4.aspx</Value> 
     </Eq> 
     <Eq> 
      <FieldRef Name='URL' /> 
      <Value Type='URL'>/path/item7.aspx</Value> 
     </Eq> 
    </Or> 
</Where> 

這樣做的實際結果是,我有項目的SPListItemCollection爲此我有了這些網址。

但是,我收到錯誤'一個或多個字段類型安裝不正確。轉到列表設置頁面以刪除這些字段。'

列表中的所有項目都具有相同的內容類型。 SP日誌中唯一相關的錯誤顯示相同的消息。

答案並沒有解決這個具體問題,但最終是正確的(或必須嵌套)。問題是我的字段值類型應該是FileRef。

回答

3

這個錯誤幾乎總是因爲你的CAML查詢不正確。你有沒有嘗試像這樣格式化:

<Where> 
    <Or> 
     <Eq> 
      <FieldRef Name='URL' /> 
      <Value Type='URL'>/path/item1.aspx</Value> 
     </Eq> 
     <Or> 
      <Eq> 
       <FieldRef Name='URL' /> 
       <Value Type='URL'>/path/item4.aspx</Value> 
      </Eq> 
      <Eq> 
       <FieldRef Name='URL' /> 
       <Value Type='URL'>/path/item7.aspx</Value> 
      </Eq> 
     </Or> 
    </Or> 
</Where> 

我很確定你只能在Or或And分支中有兩個組件。