2011-01-10 4 views
12

Ich versuche, ein Element aus einer Sharepoint-Liste zu haben, hängt von Datum in einer benutzerdefinierten Spalte ab.Datetime-Vergleich in CAML-Abfrage für Sharepoint

Ich habe meine Abfrage mit U2U Caml Builder erstellt, und das hat funktioniert, aber wenn ich es in meinen eigenen Code in meinem Webpart einfüge, gibt es mir immer alle Elemente der Liste zurück.

Hier ist mein Code:

DateTime startDate = new DateTime(Int32.Parse(year), 1, 1); 
      DateTime endDate = new DateTime(Int32.Parse(year), 12, 31); 
      SPQuery q = new SPQuery(); 
      q.Query = "<Query><Where><And><Geq><FieldRef Name='Publicate Date' /><Value IncludeTimeValue='FALSE' Type='DateTime'>" + SPUtility.CreateISO8601DateTimeFromSystemDateTime(startDate) + "</Value></Geq><Leq><FieldRef Name='Publicate_x0020_Date' /><Value IncludeTimeValue='FALSE' Type='DateTime'>" + SPUtility.CreateISO8601DateTimeFromSystemDateTime(endDate) + "</Value></Leq></And></Where></Query>"; 

      SPListItemCollection allItem = library.GetItems(q); 

Antwort

11

Sie brauchen nicht die <Query>-Tag. Deshalb wird die Abfrage nicht ausgeführt.

+0

Vielen Dank !!! Das schlimmste, dass ich einem Kollegen schon bei diesem Fehler helfen hahahaha! –

+5

Ich mache diese Fehler immer dafür verantwortlich, dass es Montag war. –

Verwandte Themen