Iso machin
Pour qu’une date soit exploitable dans une requête CAML, il faut qu’elle soit d’un format ISO spécifique.
Convertir la date à l’aide de cette outil du framework SharePoint :
SPUtility.CreateISO8601DateTimeFromSystemDateTime(maDate);
La requête suivante fonctionnera sans problème :
maQuery = "<Where><Geq><FieldRef Name='ChampDate' /><Value Type='DateTime'>" +
SPUtility.CreateISO8601DateTimeFromSystemDateTime(maDate)
+ </Value></Geq></Where>";
Étiquette : SPQuery
SPQuery sur SPList.GetItems retourne tous les éléments !
Cauet rit.
Dans le bout de code suivant :
SPQuery qry = new SPQuery();
qry.Query = "<Query><Where><Eq><FieldRef Name='Champ1' /><Value Type='Number'>0</Value></Eq></Where></Query>";
SPListItemCollection myData = mySPList.GetItems(qry);
« myData » contiendra l’ensemble des enregistrements de la liste « mySPList », sans tenir compte de ma requête « Where ».
Ceci vient de la requête CAML mal formée : il faut enlever les balises « <Query></Query> ». En effet, l’objet SPQuery de charge lui-même de les ajouter.
Source : http://sharepointxperience.blogspot.com/2007/10/spquery-returns-all-items.html