2011-06-03 59 views

回答

4

這是一次性查詢還是您想要以某種方式實現?

如果一次性,那麼你可以使用此查詢:

<Where> 
     <Or> 
     <Or> 
      <Or> 
       <Or> 
        <Or> 
        <Or> 
         <Or> 
          <Or> 
           <Or> 
           <BeginsWith> 
            <FieldRef Name='Title' /> 
            <Value Type='Text'>0</Value> 
           </BeginsWith> 
           <BeginsWith> 
            <FieldRef Name='Title' /> 
            <Value Type='Text'>1</Value> 
           </BeginsWith> 
           </Or> 
           <BeginsWith> 
           <FieldRef Name='Title' /> 
           <Value Type='Text'>2</Value> 
           </BeginsWith> 
          </Or> 
          <BeginsWith> 
           <FieldRef Name='Title' /> 
           <Value Type='Text'>3</Value> 
          </BeginsWith> 
         </Or> 
         <BeginsWith> 
          <FieldRef Name='Title' /> 
          <Value Type='Text'>4</Value> 
         </BeginsWith> 
        </Or> 
        <BeginsWith> 
         <FieldRef Name='Title' /> 
         <Value Type='Text'>5</Value> 
        </BeginsWith> 
        </Or> 
        <BeginsWith> 
        <FieldRef Name='Title' /> 
        <Value Type='Text'>6</Value> 
        </BeginsWith> 
       </Or> 
       <BeginsWith> 
        <FieldRef Name='Title' /> 
        <Value Type='Text'>7</Value> 
       </BeginsWith> 
      </Or> 
      <BeginsWith> 
       <FieldRef Name='Title' /> 
       <Value Type='Text'>8</Value> 
      </BeginsWith> 
     </Or> 
     <BeginsWith> 
      <FieldRef Name='Title' /> 
      <Value Type='Text'>9</Value> 
     </BeginsWith> 
     </Or> 
    </Where> 

另一種方法是獲取所有項目,使用SPListItemCollection。 GetDataTable()方法返回數據表,並在那裏過濾你的記錄。

如果List包含很多項目,不推薦這種方式,因爲它涉及從列表中獲取所有項目。

但是,如果您想要在某些功能中實現此功能,可能最好有另一個指示記錄類型的列。

如果您在功能中使用此查詢,請爲該列創建索引。

+0

是的,謝謝@Burt :) – 2011-06-03 10:10:16

+0

您可以使用LINQ構建CAML查詢....無需擔心結束標記http://sharepointdeveloper.de/21.html – 2011-06-03 10:10:25

+0

您可以檢查參數值是否等於字符串CAML? – Burt 2011-06-03 10:17:08