Free Tool 2 - CAML Query Builder
In this article we can explore the SharePoint 2010 free tool CAML Query Builder.
What is CAML?
CAML represents Collaborative Markup Language which is an XML based language for querying and updating SharePoint objects.
What are the advantages of this tool?
The following are the advantages of using this tool:
- As CAML is non-typed and error prone during development, the CAML Query
Builder provides advantage of writing and validating CAML queries.
- An Intuitive User Interface is provided by the application for more easier query building.
- Above all the tool is free.
You can download the tool from the following location: http://www.u2u.be/res/tools/camlquerybuilder.aspx. Please make sure you download the 2007 version which works well with SharePoint 2010.
Download the tool and extract the zip file to a temporary folder. Execute the
setup.exe inside it and follow the wizard to install the tool.
Note: The SharePoint binaries are required for working with this tool.
Starting with the tool
After the installation, execute the tool from the Start menu or Desktop. The tool is available on Start
menu > U2U > CAML Builder > CAML Builder, as shown below.
On execution you can see the following screen.
Enter the following details as shown above:
- URL of the site
- Connect through SharePoint Web Services
- User Credentials
After entering the details, click the Connect button.
Note: As the tool is for SharePoint 2007, the Connect via Object Model option cannot be used.
Inside the tool
On connecting successfully, you will get the following screen.
You can see that the above screen displays your existing Lists and Libraries. Additionally it displays the Lists
and Libraries which are hidden in the Quick Launch tool.
Create a Contacts List
To start with, create a Contacts list of Contacts template inside your SharePoint site. Insert the following test data into it and refresh the CAML Query Builder Tool.
Building your first CAML query
Now we can try building our first query using the CAML Query Builder Tool. Here we are trying to find the list items for which First Name contains ‘1’.
Step 1: Start the New Query pane.
Right click on the Contacts list from the left side pane and choose the New Query menu.
You can also use the New Query button from the tool bar.
Specify the Column Parameters.
From the pane on the right side, choose the Filter Column > First Name using the second drop down list as shown below.
Now choose the option Contains from the third drop down list. Enter the text 1 in the textbox.
Note: Following are the dropdownlists shown and their purpose:
The first dropdownlist contains the options Filter, And, Or.
The second drop down list contains the Column Names of the selected list.
The third drop down list contains the conditions like Equal, Not Equal, Contains etc.
Step 3: View the CAML query.
On performing the above steps you can see that the CAML wuery is generated for the above condition. You can see the CAML
query in the bottom pane as shown
Step 4: Executing the CAML query.
Now you are ready with the CAML query but it is not tested yet. For testing the query, use the Execute query button from the top toolbar as
You should be getting the results as shown above.
Now you are ready with the CAML query which is tested and can be copied to your application.
Adding an OR condition.
Now we can play a little bit more by adding an OR Condition to the list of all the Contacts items which contain ‘1’ or ‘2’ in the First Name column.
For achieving this, select the Or option from the Filter drop down list.
You can see that a new filter row is added to the query pane. Enter the new parameters in the new row as shown below.
Execute the new query.
Now you can try executing the above query and this time the result should show both the records from the Contacts list.
Add Order By element
Now we can try using the Add Order By element button. This option allows us to add the Order By CAML tags. You can specify a column and
the order (ascending or descending).
Create a new query and click on the Add Order by element button from the toolbar.
Choose the ID column and order as Descending.
On executing the query, you can see the following result.
Please note that the items are now shown in the descending order of ID values.
Multiple Order By columns
We can have multiple Order By columns. Use the same button again to add a new Order By CAML tag as shown below.
This time we have two Order by columns. The Created By column is sorted in
an Ascending fashion.
More Options in the CAML Query Builder Tool
You can explore more options in building CAML queries using the tool like:
- Creating queries for Date columns
- Trying with AND operator
- Filtering with Equal To, Lower Than, Greater Than conditions
- Using the Copy Query button to copy the query to clipboard
In this article we have explored the tool CAML Query Builder. In real life scenarios, this tool should give time, cost,
and efficiency advantages.