布尔列的CAML查询无效

Nir*_*ran 16 c# sharepoint caml

嗨我有一个要查询我的桌面应用程序的SharePoint列表,我想只检索活动成员,但是当我查询时,我只获得了不活动的用户.我的CAML查询有什么问题?

camlQuery.ViewXml = "<<"View">><Query><Where><Eq><FieldRef Name='Active'/><Value Type='Boolean'> " + true + "</Value></Eq></Where></Query></View>"";
Run Code Online (Sandbox Code Playgroud)

我也尝试了以下内容

camlQuery.ViewXml = "<View><Query><Where><Eq><FieldRef Name='Active'/><Value Type='Boolean'> true</Value></Eq></Where></Query></View>";
Run Code Online (Sandbox Code Playgroud)

camlQuery.ViewXml = "<Query><Where><Eq><FieldRef Name='Active'/><Value Type='Boolean'> true</Value></Eq></Where></Query>";
Run Code Online (Sandbox Code Playgroud)

请帮忙,因为我是CAML的新手.

Rya*_*yan 41

为自己保留一些悲伤并使用工具来帮助构建CAML查询,例如U2U的Caml Query Builder.

您需要在查询中使用1和0(不是true和false),所以

<Query><Where>
   <Eq><FieldRef Name="Active" /><Value Type="Boolean">1</Value></Eq>
</Where></Query>
Run Code Online (Sandbox Code Playgroud)

  • 奇怪的是,对于某些布尔列,您必须将值设置为"true"而不是"1" - 我还没弄清楚为什么 (2认同)
  • 如果保留Type ="Integer",则必须始终使用1和0 (2认同)