Click here to Skip to main content
15,122,307 members
Articles / Programming Languages / C#
Posted 27 Aug 2004


93 bookmarked

Microsoft Application Block for Data Access in .NET

Rate me:
Please Sign up or sign in to vote.
2.74/5 (46 votes)
5 Sep 20044 min read
This article gives an overview of Microsoft Application Block for Data Access, its advantages and specifies its usage in a .NET application.



Microsoft has developed and released Application Blocks for Data Access and Exception Management for using in .NET applications. These application blocks provide the .NET developer not only the ready to use code inside the application, but also the code which was built by encapsulating the best practices by Microsoft.

In this discussion we are going to examine the following:

  • What are the advantages of Data Access Application Block?
  • How to install the Data Access Application Block?
  • Create a sample .NET application using the Data Access Application Block.

Advantages of Data Access Application Block

Microsoft has developed this wrapper on top of the ADO.NET layer by encapsulating the performance and memory management related best practices for Microsoft SQL Server. So we need not worry about the data access performance and memory leaks.

This comes as a single assembly with a class consisting of useful methods which serve all kinds data access requirements. By using these simple calls in our code, we can reduce the amount of custom code we actually write in our conventional applications. Moreover we can also skip the over head of testing and maintenance of our custom code.

Microsoft provides the source code files, along with the Quick start samples and documentation. We can use the source code as it is or we can even customize as per our application needs.

Installing the Data Access Application Block

This is a free software and you can download it from here.

The current version of this block is 2.0. And we need to have Visual Studio. NET installed on the target machine.

Your installation should create an entry in the Start > Programs > menu called “Microsoft Application Blocks for .NET”, where it will show links to source code and samples.

Sample screenshot

Fig 1: After installing the Application Block.

Select the Data Access Application Block option by navigating to the path shown in the figure. It then opens the solution in the VS.NET IDE.

Sample screenshot

Fig 2: Open the Data Access Application Block solution in the IDE.

Click on the SQLHelper.cs file to look inside the code. It creates a namespace with the name Microsoft.ApplicationBlocks.Data with two sealed classes SqlHelper and SqlHelperParameterCache created inside that.

Now right click on the project name and click Build. Now you should see the assembly created at the following path:

C:\Program Files\Microsoft Application Blocks for .NET\Data Access v2\Code\CS\Microsoft.ApplicationBlocks.Data\bin\Debug

So we have built the Data Access block assembly, now we create a Web Application in which we refer this assembly. In our web application, we use a simple web form to connect to SQL Server 2000 and access the data from the database.

Create a sample .NET application using Data Access Block.

Step 1: Select File > New > Project from the file menu, select the ASP.NET Web Application and enter the project name and path accordingly.

Sample screenshot

Fig 3: Creating a sample web application.

Step 2: Now we add the Data Access Block to our project. To do this, right click on the references node and click Add Reference. Click on the Browse and select the Microsoft.ApplicationBlocks.Data.dll and click Ok button.

Sample screenshot

Fig 4: Adding the Data Access Block reference.

Step 3: Open the WebForm1 and drag a datagrid from the toolbox onto it.

Sample screenshot

Fig 5: Adding the datagrid to the WebForm1.

Step 4: Add the line for using the Data Access Block assembly.

Sample screenshot

Fig 6: Using Microsoft.ApplicationBlocks.Data namespace.

Step 5: Add the following code in the Page_Load event procedure.

This code creates a connection to the SQL Server database.

We have used the ExecuteDataset static method of the SqlHelper class to fetch the top 10 records from Employees table.

Sample screenshot

Fig 7: Call SqlHelper.ExecuteDataset method

In the above code, I have used my own credentials for connecting SQL Server. Please change those accordingly.

Step 6: Run the WebForm1.aspx page in the browser to see the output.

Sample screenshot

Fig 8: Result displayed in WebForm1.aspx


In this discussion I have tried my best in exploring the Data Access Block with a simple example. Try to explore other useful methods available in SqlHelper which serve for variety of data access purposes. For wide information on this topic, visit


This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here


About the Author

Sekhar Lanka
Web Developer
United States United States
His areas of interests are C#, ASP.NET, SQL Server and UML.

Comments and Discussions

Question???? Pin
Ravindra_Parcha13-Jan-12 18:10
MemberRavindra_Parcha13-Jan-12 18:10 
GeneralUm Pin
Speedisavirus16-Jun-11 9:36
MemberSpeedisavirus16-Jun-11 9:36 
Questionfor Oracle ??? Pin
kiquenet.com20-Oct-09 8:30
professionalkiquenet.com20-Oct-09 8:30 
GeneralArrgggghhhhhhhh Pin
Pete O'Hanlon5-Nov-07 0:58
mvePete O'Hanlon5-Nov-07 0:58 
GeneralHi Pin
mezzo5-Nov-07 0:28
Membermezzo5-Nov-07 0:28 
GeneralHi Pin
Ramesh Duppati7-Sep-06 21:49
MemberRamesh Duppati7-Sep-06 21:49 
GeneralThis is terrible Pin
marcroach27-Mar-06 9:59
Membermarcroach27-Mar-06 9:59 
GeneralPuur Pin
Anonymous7-Oct-05 3:33
MemberAnonymous7-Oct-05 3:33 
GeneralRe: Puur Pin
MCDBA7-Oct-05 3:34
MemberMCDBA7-Oct-05 3:34 
GeneralBuild Error Pin
devvvy21-Jul-05 22:44
Memberdevvvy21-Jul-05 22:44 
GeneralArticle Pin
Jonathan Bays8-Nov-04 18:11
MemberJonathan Bays8-Nov-04 18:11 
GeneralRe: Article Pin
kiran133123-Mar-06 10:02
Memberkiran133123-Mar-06 10:02 
GeneralVery misleading Pin
DiBrun15-Sep-04 23:55
MemberDiBrun15-Sep-04 23:55 
GeneralRe: Very misleading Pin
fadee16-Sep-04 1:20
Memberfadee16-Sep-04 1:20 
Generalyup, good job Pin
devvvy21-Jul-05 22:19
Memberdevvvy21-Jul-05 22:19 
GeneralRe: Very misleading Pin
Anonymous23-May-05 11:03
MemberAnonymous23-May-05 11:03 
General1. With/Without App Block + 2. NHibernate Pin
devvvy21-Jul-05 22:22
Memberdevvvy21-Jul-05 22:22 
GeneralRe: Very misleading Pin
eliakaris1-Nov-05 15:40
Membereliakaris1-Nov-05 15:40 
GeneralRe: Very misleading Pin
Ghayas Ur Rehman16-Feb-09 8:12
MemberGhayas Ur Rehman16-Feb-09 8:12 
QuestionDemo project ?!? Pin
Colin Angus Mackay6-Sep-04 6:05
MemberColin Angus Mackay6-Sep-04 6:05 
GeneralNot good Pin
Alsius6-Sep-04 5:26
MemberAlsius6-Sep-04 5:26 
GeneralRe: Not good Pin
Sekhar Lanka6-Sep-04 21:30
MemberSekhar Lanka6-Sep-04 21:30 
GeneralModification Pin
Meysam Mahfouzi28-Aug-04 23:30
MemberMeysam Mahfouzi28-Aug-04 23:30 
GeneralRe: Modification Pin
fabulous29-Aug-04 8:52
Memberfabulous29-Aug-04 8:52 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.