Blue Theme Orange Theme Green Theme Red Theme
 
ANTS Performance Profiler 6.0
Home | Forums | Videos | Photos | Blogs | Beginners
 | Consulting  
Submit an Article Submit a Blog 
 Jump to
Skip Navigation Links
TechnologyExpand Technology
WebsiteExpand Website
Safari Books Online
 Resources  
Close
 Our Network  
Close
Search :       Advanced Search »
Home » Articles » DataReader And DataSet

DataReader And DataSet


ADO.NET is part of Microsoft.NET which comprises a set of tools and object model for accessing a data source. The objects definition appears under the System.Data namespace. It allows applications to store, manipulate and retrieve data. In this article I’m going to talk about the two different objects for accessing data sources in two common contexts of your application: the connected and disconnected environment.

Author Rank:
Total page views :  17783
Total downloads : 
   Print Read/Post comments Post a comment  Similar Articles  
   Email to a friend  Bookmark  Author's other articles  
 
Become a Sponsor

Introduction.

ADO.NET is part of Microsoft.NET which comprises a set of tools and object model for accessing a data source. The objects definition appears under the System.Data namespace. It allows applications to store, manipulate and retrieve data. In this article I'm going to talk about the two different objects model for accessing data sources in two different contexts of your application: the connected and disconnected environment.

The connected environment.

In the connected environment, the objects insist on having an open connection with the database management system for interaction with the data source. It's represented by instances of the following classes Connection, Transaction, Command, Parameter and DataReader.

Accessing to the data source using DataReader.

A DataReader instance allows to access information on a single row of data at a given time having a single record loaded in memory, regardless of the size of a result set. The performance advantages associated with using less memory can be enormous. 

If you keep a data reader open for unduly long time durations, then the connected nature of a data reader can actually impact connection-pooling performance negatively.

If you are working on the one row and explicitly not close the data reader and the connection, your physical connection is still open and cannot be used by anyone else for reading other row. This problem may impact in the performance and availability of the database management system

The disconnected environment.

In the disconnected environment, the application keeps open the connection for one kind of work on the database and every time it needs to work again, the connection must be reopened. It's costly to open a connection in a network environment due to the communication protocols, the session creation and the underlying authentication process. Microsoft architects mitigate this effect storing the actual physical connection between various requests in a connection pool, so every time a new connection object is created associated to connection string pointing to the database management system, and needs to open the connection, the connection string is used as key for looking a physical connection in the connection pool whose structure is hash table, and accessing to a reference of the underlying opened physical connection. It is a great idea, and time saving algorithm.

The disconnected environment comprises instances of the following classes DataSet, DataTable, DataRow, DataColumn, DataRelation and Constraint which allows abstracting a real object-oriented model of the back-end database.

Accessing to the data source using DataSet.

DateSet is designed specifically to be an in-memory cache of large amounts of data completely disconnected from the underlying data source. In this regard, the DataSet consumes more memory than the DataReader.

As DataSet is database independent, so we need another intermediary object called Adapter which contains the necessary logic for accessing the underlying data source. First of all, the adapter fills the DataSet with a snapshot of the real data source, and later updates the changes back, so you will still need to reconnect to the data source, because the connection was closed while you were actually working with the data in your application.

Strongly type DataSet.

Strongly typed DataSet is a kind of DataSet trying to come close to the true representation of your data. The main idea is to define objects closer to the real model of your application than the underlying database structure. 

When we design the architecture of an Enterprise Application using object-oriented concepts, we deal with classes and its relationships and the associated instances: the objects. These models are implemented using tools and technologies supporting the object-oriented paradigm in a coherent way. 

Dealing with persistent objects and relational database systems have been a challenge for the architects and programmer community, one solution is XML and related technologies for structuring the raw information in a object-oriented approach. Some vendors are developed frameworks to allow the objects to be persistent such as ObjectMagix framework and Kodo EJB/JDO from BEA Systems. 

The entities, part of your business domain, are modeled as Business Objects, that is persistent objects acting as an information holders which are able to persist their state on any storage medium. For example, if you are modeling the architecture of Customer-Relationship Management information system for the marketing department, you must deal with entities such as Products, Customers, CustomerProfiles, etc.  

The programmers assigned to the realization of the business layer, according to the design-pattern practices of n-tier enterprise applications, developing different components now agree in a common vocabulary as interface for exchanging messages with the objects in other layers such as the User Interface layers. In the integration phase of the project, we deal with Products, Customers and CustomerProfiles components its related interface inside a package and hosted by a certain runtime environment; not with an unstructured stream of data and related data-dependent commands. 

A component-based model allows testing, maintaining and reusing the software modules in a logical an easy way. 

Some programmers have good designs, runtime environments and IDE, but they don't use at full this technologies and concepts, because they are not able to realize the underlying model, turning into a major headache the solution. 

Using strongly typed DataSet and related concepts such as XML and XML Schemas for describing the objects schemas (classes attributes), we may model business objects and its relationships in ADO.NET. The logic of the application is consistent with the model, that is, when we write a piece of code to create an object, the associated record for storing the object's state will be created in the database.

We can also check any error, inconsistency or constraints set by the business rules before the data goes to the database systems. Now we are really dealing with entities independent of the persistent medium. 

The biggest problem with strongly typed DataSets is that their structure needs to be continually updated to reflect the underlying table structure. This involves code generation and recompilation. 

Conclusion.

I want you to say, this is an interested topic, and there are a great deal of paradigms, concepts (persistent objects) and technologies (EJB, Kodo EJB/JDO, ObjectMagix) referring to it. This article is only a notion of the basis of object's persistence.

NOTE: THIS ARTICLE IS CONVERTED FROM C# TO VB.NET USING A CONVERSION TOOL. ORIGINAL ARTICLE CAN BE FOUND ON C# CORNER (WWW.C-SHARPCORNER.COM). 


Login to add your contents and source code to this article
 About the author
 
John Charles Olamendy
He’s a senior Integration Solutions Architect and Consultant. His primary area of involvement is in Object-Oriented Analysis and Design, Database design , Enterprise Application Integration, Unified Modeling Language, Design Patterns and Software Development Process. He has knowledge and extensive experience in the development of Enterprise Applications using Microsoft.NET and J2EE technologies and standards. He is proficient with distributed systems programming; and business-process integration and messaging using the principles of the Services Oriented Architecture (SOA) and related technologies such as Microsoft BizTalk Server, Web Services (Windows Communication Foundation, WSE, BEA WebLogic, Oracle AS and Axis) through multiple implementations of loosely-coupled system. He’s a prolific blogger contributing to .NET and J2EE communities and actively writes articles on subjects relating to integration of applications, business intelligence, and enterprise applications development. He holds a Master’s degree in Business Informatics at Otto Von Guericke University, Magdeburg, Germany. He was recently awarded as MVP. He currently works in the telecommunication industry and delivers integration solutions for this industry. He harbors a true passion for the technology.
Looking for C# Consulting?
C# Consulting is founded in 2002 by the founders of C# Corner. Unlike a traditional consulting company, our consultants are well-known experts in .NET and many of them are MVPs, authors, and trainers. We specialize in Microsoft .NET development and utilize Agile Development and Extreme Programming practices to provide fast pace quick turnaround results. Our software development model is a mix of Agile Development, traditional SDLC, and Waterfall models.
Click here to learn more about C# Consulting.
 
Introducing MaxV - one click. infinite control. Hyper-V Hosting from MaximumASP.
Finally – a virtual platform that delivers next-generation Windows Server 2008 Hyper-V virtualization technology from a managed hosting partner you can truly depend on. Visit www.maximumasp.com/max for a FREE 30 day trial. Hurry offer ends soon. Climb aboard the MaxV platform and take advantage of High Availability, Intelligent Monitoring, Recurrent Backups, and Scalability – with no hassle or hidden fees. As a managed hosting partner focused solely on Microsoft technologies since 2000, MaximumASP is uniquely qualified to provide the superior support that our business is built on. Unparalleled expertise with Microsoft technologies lead to working directly with Microsoft as first to offer IIS 7 and SQL 2008 betas in a hosted environment; partnering in the Go Live Program for Hyper-V; and product co-launches built on WS 2008 with Hyper-V technology.
Dynamic PDF
ceTE software specializes in components for dynamic PDF generation and manipulation. The DynamicPDF™ product line allows you to dynamically generate PDF documents, merge PDF documents and new content to existing PDF documents from within your applications.
SQL and .NET performance profiling in one place
Investigate SQL and .NET code side-by-side with ANTS Performance Profiler 6, so you can see which is causing the problem without switching tools.
Go.NET
Build custom interactive diagrams, network, workflow editors, flowcharts, or software design tools. Includes many predefined kinds of nodes, links, and basic shapes. Supports layers, scrolling, zooming, selection, drag-and-drop, clipboard, in-place editing, tooltips, grids, printing, overview window, palette. 100% implemented in C# as a managed .NET Control. Document/View/Tool architecture with many properties&events. Optional automatic layout.
Dundas Software
Dundas Chart for .NET is the most advanced .NET charting package available today.  With an extremely complete feature set, elegant architecture and easy implementation, Dundas Chart can quickly add advanced Charting functionality to enhance and transform ASP.NET and Windows Forms applications.  Whether you are implementing charting into internal projects, or building applications for clients, Dundas Chart offers advanced technology and advanced results to get the most out of data.
60 FREE UI Controls from DevExpress
Register for your FREE copy on over 60 free presentation controls from DevExpress - Absolutely Free-of-Charge without any royalties or distribution costs. Visit Devexpress.com/60 today. Free controls include advanced lists box, dropdown calendar, rich text edit, spin edit, tab control and so much more!

DevExpress engineers feature rich presentation controls and reporting tools for WinForms, ASP.NET, WPF, and Silverlight. Our technologies help you build your best, see complex software with greater clarity and deliver compelling business solutions for Windows and the web in the shortest possible time.
Clickatell's SMS Gateway
Clickatell's Developer Solutions allow you to SMS enable any website or application via a range of API's. Learn More about our API connections.
Free access to .NET Memory Management video
Everything you need to know about Garbage Collection, Temporary Objects, Fragmentation, Finalization and common causes of memory leaks in .NET. Watch the video here.
Microsoft Visual Studio 2010
Visualize your workspace with new multiple monitor support, powerful Web development, new SharePoint support with tons of templates and Web parts, and more accurate targeting of any version of the .NET Framework. Get set to unleash your creativity.
Nevron Chart for .NET 2010.1 Now Available
The leading .NET charting control now features PDF, Flash and Silverlight export, visualization of large datasets and more. Deliver true charting functionality to your BI, Scorecard, Presentation or Scientific apps. Download evaluation now.
Developer-Ready ASP.NET 2.0 Web Hosting with 3 MONTHS FREE
Now supporting .NET 3.0 Framework with Windows Workflow Foundation, Windows Communication Foundation (WCF), Windows Presentation Foundation (WPF), windows CardSpace (WCS)! Providing more flexibility for Developers with Web Services Support and a User/Permission Manger. Also supporting MS SQL 2005/2000 with Real-Time Backups, FREE Automated Attach .MDF Tool, FREE SQL Restore and Shrink SQL DB Tools, and SQL
Read the Top 10 Books for Microsoft Developers, 15 Days FREE
Read the Top 10 Books for Microsoft Developers, 15 Days FREE
Try Safari Books Online - 15 Days FREE + 15% Off for 1 Year
Try Safari Books Online - 15 Days FREE + 15% Off for 1 Year
 
 Post a Feedback, Comment, or Question about this article
Subject:
Comment:
Become a Sponsor
 Comments
topic by srinivas On August 25, 2006
diffrence between datareader and dataset
Reply | Email | Delete | Modify | 
ANTS Performance Profiler 6.0
 Hosted by MaximumASP  |  Found a broken link?  |  Contact Us  |  Terms & conditions  |  Privacy Policy  |  Site Map  |  Suggest an Idea  |  Media Kit
Current Version: 5.2010.8.14
 © 2010  contents copyright of their authors. Rest everything copyright Mindcracker. All rights reserved.