SharePoint list CAML query using CONTAINS

Ali_Abadani picture Ali_Abadani · Dec 8, 2009 · Viewed 53.4k times · Source

I'm trying to query a SharePoint list using the following CAML query in a webpart. I have tested the query in U2U CAML Query Builder and Stramit CAML Viewer and it works fine, only returning the matching records, but when I use it in my webpart it return all list items. It is driving me crazyyyyy. Here is the code:

string camlQuery = string.Format(@"<Query><Where><Contains><FieldRef Name='Title' /><Value Type='Text'>2</Value></Contains></Where></Query>");

SPQuery query = new SPQuery();
query.Query = camlQuery;
SPListItemCollection items = Articles.GetItems(query);
grid.DataSource = items.GetDataTable();
grid.DataBind();

Answer

Colin picture Colin · Dec 8, 2009

Leave out the surrounding Query tag, just use:

<Where><Contains><FieldRef Name='Title' /><Value Type='Text'>2</Value></Contains></Where>

SPQuery adds the Query tag itself.