2009-08-27 18 views
5

リストにアイテムが含まれているかどうかを確認するにはどうすればいいですか?SharePoint:アイテムがリストに存在するかチェックします。最小オーバーヘッド

SPListItemCollectionを作成し、独自の値をチェックするためにこれを繰り返し実行すると、実際にはCPU使用率が大幅に低下する可能性があります...確かにこれを繰り返すことなくこれを行う方法が必要ですリストのすべてのアイテム?

答えて

11

ここは、Waldek Mastykarzのcomparison of techniquesです。

一般的なルールは、SPQueryを使用することです。詳細はSharePointDevWikiを参照してください。ここでは基本的な例です:SPQueryについて

SPList list = SPContext.Current.Web.Lists["Some List"]; 
SPQuery query = new SPQuery(); 
query.Query = @" 
    <Where> 
     <Eq> 
      <FieldRef Name='SomeField' /> 
      <Value Type='Text'>Value To Match</Value> 
     </Eq> 
    </Where>"; 
SPListItemCollection found = list.GetItems(query); 
if (found.Count > 0) 
{ 
    // Do something 
} 

いくつかの注意事項:

  • あなたのクエリが間違って取得する場合、あなたのクエリが間違って取得する場合、それは代わりにエラー
  • を与えるのすべての答えを返すことができます、それは時々あなたが正しい値の型を取得していることを確認し、役に立たない/誤解を招くエラーに
  • を与えることができます

保存U2U CAML Builder(WindowsまたはWebバージョン - ウェブはより良いIMHO)またはStramit CAML Viewerなどのツールを使用してをビルドし、クエリをテストすることで、多くの問題を解決できます。

+0

ありがとうもう一度アレックス –

関連する問題