2012-03-23 69 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