2012-03-23 67 views
0

我使用ClientContext類和CAML查詢檢索在SharePoint 2010.I從外部列表項目已經建立了邏輯與條件查詢中查詢CAML這樣邏輯AND,OR CAML查詢不在外部列表工作

string sDataFilter =<Query><Where><And><Eq><FieldRef Name="Year" /><Value Type="Text">1960</Value></Eq><Contains><FieldRef Name="ChartName" /><Value Type="Text">Chart1</Value></Contains></And></Where></Query> 

當我exceute下面的代碼

List oList = clientContext.Web.Lists.GetById(new Guid(list)); 
       CamlQuery camlQuery = new CamlQuery(); 
       string queryContext = "<View><Query>" + sDataFilter + "</Query>" + viewFieldsContext + "</View>"; 
       camlQuery.ViewXml = queryContext; 
       ListItemCollection collListItem = oList.GetItems(camlQuery); 
       clientContext.Load(collListItem); 
       clientContext.ExecuteQuery(); 

我得到空ListItemCollection.I有交叉與U2U CAML查詢生成器驗證數據僅是空的。因此,在外部列表中,caml查詢對於排序和簡單過濾器查詢(如Where,EqualTo條件)無法在查詢中使用邏輯條件時工作正常?如果是的話,我怎麼能實現這一點使用caml查詢 任何人都可以幫助我解決這個問題?

+0

什麼是你'sDataFilter'和''viewFieldsContext知道嗎?你可以在這裏申報嗎? – Jigs 2012-03-23 14:16:05

回答

1

問題是下面的代碼線

string queryContext = "<View><Query>" + sDataFilter + "</Query>" + viewFieldsContext + "</View>"; 

變化與follwing代碼

string queryContext = "<View>" + sDataFilter + viewFieldsContext + "</View>"; 

問題是在查詢標籤此行。這是兩次重複查詢。
晚我,當它的工作

Thax