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?
We can see following are the advantages of using this Tool:
1. As CAML is non-typed and error prone during development the CAML Query Builder provides advantage of writing and validating the CAML queries.
2. An Intuitive User Interface is provided by the application for more easier Query building
3. Above all the Tool is Free
You can download the tool from following location:
Please make sure you download the 2007 version which is working 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 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 & Libraries which are hidden in the Quick Launch too.
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.
Step 2: 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 drop down lists shown above and the purpose:
· The first drop down list 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 Query is generated for the above condition. You can see the CAML Query in the bottom pane as shown below.
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 shown below.
You should be getting the results as shown above.
So now you are ready with the CAML Query which is tested and can be copied to your application.
Step 5: Adding OR Condition
Now we can play a little bit more by adding an OR Condition to list all the Contacts items which contains ‘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 getting added to the query pane. Enter the new parameters in the new row as shown below.
Step 6: 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 are having 2 Order by columns. The Created By column with Ascending sorting.
More Options in CAML Query Builder Tool
You can explore more options in building CAML Queries using the tool like:
1. Creating Queries for Date Columns
2. Trying with And operator
3. Filtering with Equal To, Lower Than, Greater Than conditions
4. 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 & efficiency advantages.