SPQuery Class
Assembly: Microsoft.SharePoint (in microsoft.sharepoint.dll)
The following code example displays the titles of items in a Tasks list where the Status column equals Completed. The example uses Collaborative Application Markup Language (CAML) to define the query.
This example requires using directives (Imports in Microsoft Visual Basic) for the ( Default Namespace )Microsoft.SharePoint and ( Default Namespace )Microsoft.SharePoint.Utilities namespaces.
using (SPWeb oWebsiteRoot = SPContext.Current.Site.RootWeb) { SPList oList = oWebsiteRoot.Lists["Tasks"]; SPQuery oQuery = new SPQuery(); oQuery.Query = "<Where><Eq><FieldRef Name='Status'/>" + "<Value Type='Text'>Completed</Value></Eq></Where>"; SPListItemCollection collListItems = oList.GetItems(oQuery); foreach (SPListItem oListItem in collListItems) { Response.Write(SPEncode.HtmlEncode(oListItem["Title"].ToString()) + "<BR>"); } }
Note: |
|---|
Certain objects implement the IDisposable interface, and you must avoid retaining these objects in memory after they are no longer needed. For information about good coding practices, see Best Practices: Using Disposable Windows SharePoint Services Objects. |
- 4/26/2010
- Sameer.Patel
- 8/6/2009
- OSRulz
Be sure to create a new SPQuery instance each time you use it. You cannot create one SPQuery instance and then reuse it multiple times in a loop where you alter the SPQuery's Query value.
- 5/19/2008
- LZandman
Caml query not using the time part in datetime. If your are doing a caml query and you see that your time is being ignored in datetime try this:
<Value Type=”DateTime” IncludeTimeValue=”TRUE”><Today /></Value>
You have to use IncludeTimeValue=”TRUE”.
Check http://puneetspeed.spaces.live.com/blog/cns!AFAFB88D250BEE36!308.entry for more
- 10/19/2007
- puneetspeed
SPQuery.ViewAttributes = "Scope=\"Recursive\"";
However this is undocumented/non public information so MS can change it any time in the further releases and you code will start breaking.
Instead, one can use SPSiteDateQuery class to search across multiple Lists. you can go to my blog for further detail and example.
http://www.sharepointblogs.com/akhileshtiwari/archive/2007/10/11/query-multiple-lists-using-spsitedataquery-class.aspx
- 9/28/2007
- Akhilesh Tiwari
- 10/11/2007
- Akhilesh Tiwari
Note: