web-dev-qa-db-fra.com

La requête CAML pour la colonne booléenne ne fonctionne pas

Salut, j'ai une liste SharePoint à interroger pour mon application de bureau et je souhaite récupérer uniquement les membres actifs, mais lorsque j'ai posé une question, je n'ai que les utilisateurs qui ne sont pas actifs. Quel est le problème avec ma requête CAML?

camlQuery.ViewXml = "<<"View">><Query><Where><Eq><FieldRef Name='Active'/><Value Type='Boolean'> " + true + "</Value></Eq></Where></Query></View>"";

J'ai aussi essayé ce qui suit

camlQuery.ViewXml = "<View><Query><Where><Eq><FieldRef Name='Active'/><Value Type='Boolean'> true</Value></Eq></Where></Query></View>";

et

camlQuery.ViewXml = "<Query><Where><Eq><FieldRef Name='Active'/><Value Type='Boolean'> true</Value></Eq></Where></Query>";

Aidez-moi, car je suis nouveau à CAML.

Epargnez-vous un peu de peine et utilisez un outil pour vous aider à créer des requêtes CAML telles que Caml Query Builder de U2U.

Vous devez utiliser 1 et 0 (pas vrai et faux) dans la requête, donc

<Query><Where>
   <Eq><FieldRef Name="Active" /><Value Type="Boolean">1</Value></Eq>
</Where></Query>
42
Ryan

Cela fonctionne pour moi

camlQuery.ViewXml = "<View>" + "<Query>" + "<Where>" + "<Eq>" +
"<FieldRef Name='Active'/>" + " <Value Type='Boolean'>" + "1" + "</Value>" +
"</Eq>" + "</Where>" + "</Query>" + "</View>";
2
DevTard

Utilisez le type de valeur Bool et cela fonctionne avec "true", "True" ou "TRUE"

0
user2470731