Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
This isn't anything really new or unique but seemed worth bloging to have it one in place. A SPQuery can be used to retrieve some SPListItems from a SPListItemCollection.
If you want to query on a Boolean field such as a Yes/No field (boolean) your query CAML might look like the following:
query.Query = "<Where><Eq><FieldRef Name='LastChange' /><Value Type='Boolean'>1</Value></Eq></Where>";
Note the value for the boolean expressed as text. 1 for true, 0 for false.
The following code is an example which shows how to do a DateTime comparison. It is very important to use a correct date format as the value in the inner xml of the where clause.
query.Query = "<Where><Eq><FieldRef Name='LastChange' /><Value Type='DateTime'>1971-01-01T00:00:00Z</Value></Eq></Where>";
or with the current datetime you could use:
query.Query = String.Format("<Where><Gt><FieldRef Name='Modified'/><Value Type='DateTime' StorageTZ='TRUE'>{0}</Value></Gt></Where>", SPUtility.CreateISO8601DateTimeFromSystemDateTime(DateTime.UtcNow));
Comments
Anonymous
January 07, 2013
i have a list whre from date is selected bu user and looking for a spquery to create list item thru spquery wherein from date and current is not already exist in the list. How to write a spqueryAnonymous
January 07, 2013
my code which is not working protected void btnRegister_Click(object sender, ImageClickEventArgs e) { string strURL = "http://inedec-it-09:321/FA/Admin/"; string Nme; string dtc; // string bs; string duplicate = "False"; using (SPSite oSiteCollection = new SPSite(strURL)) { using (SPWeb oWebsiteRoot = oSiteCollection.OpenWeb()) { oWebsiteRoot.AllowUnsafeUpdates = true; SPList oList = oWebsiteRoot.Lists["G2buses"]; Nme = System.Environment.UserName.ToString(); //bs = DropDownList1.SelectedIndex.ToString(); dtc = Calendar1.SelectedDate.ToString(); SPQuery oQuery = new SPQuery(); oQuery.Query = @"<Where> + <Eq> <FieldRef Name='Title' /> <Value Type='Text'>"+ Nme + @"</Value> </Eq> <And> <Eq> <FieldRef Name='from_x0020_date' /> <Value Type='DateTime'>"+ dtc + @"</Value> </Eq> </And> </Where>"; SPListItemCollection collListItems = oList.GetItems(oQuery); foreach (SPListItem item in collListItems) { duplicate = "True"; } if (duplicate == "True") { lblShowMsg1.Text = "You Have Alredy Been Registered!"; //lblShowMsg.Text = "32 Seats"; } else { SPListItem oListItem0 = oList.Items.Add(); oListItem0["Title"] = System.Environment.UserName; oListItem0["Bus"]= DropDownList1.Text.ToString(); oListItem0["from date"]= Calendar1.SelectedDate.ToString(); oListItem0.Update(); lblShowMsg1.Text = "Updated"; } oWebsiteRoot.AllowUnsafeUpdates = false; } } }