This article will learn the difference between the ADO and ADO.NET technology in detail. Firstly we will learn the basic introduction of both the technologies after that we will see the differences between both of them.
ADO stands for ActiveX Data Objects. In this the programmers use a generic set of objects, no matter the underlying data sources. It requires locking of database resources and a lengthy connections for applications. In ADO connection is creating by using a single Connection object.
ADO.NET is an advance version of ADO. It interacts with databases and have a consistent access to various data sources. It does not requires locking and a lengthy connections for its applications. ADO.NET can have a separate objects that represent connections to different data sources which make access faster and more efficient.
It uses a multilayered architecture that includes a few concepts such as Connection, Command, and DataSet objects. ADO.NET is truly the data access technology for current and future applcations.
|Head to Head differences
|1 Data Representation
||In ADO, data is represented by a RecordSet object, which can hold data from one data source at a time.
||In ADO.NET, data is represented by a DataSet object, which can hold data from various data sources, integrate it, and after combining all the data it can write it back to one or several data sources.
|2 Data Reads
||In ADO, data is read in sequential manner.
||In ADO.NET, data is read either in a sequential or non-sequential manner.
|3 Disconnected Access
||ADO first makes a call to an OLE DB provider. It supports the connected access, represented by the Connection with a database.
||It uses standardized calls such as DataSetCommand object to communicate with a database and with the OLE DB provider.
|4 Creating Cursors
||It allows us to create client-side cursor only.
||ADO.NET either created client-side or server-side cursors.
||ADO has the feature of locking.&
||This features is not used in ADO.NET.
|6 XML integration
||This feature is not used in ADO.
||This feature is used in ADO.NET.
|7 Relationship between Multiple Tables
||It requires SQL Join and UNIONs to combine data from multiple tables in a single RecordSet.
||It uses DataRelation objects for combining data from multiple tables without the use of SQL Join and UNIONs.
||ADO requires data to be converted to data types supported by receiving system.
||ADO.NET does not require complex conversions that wasted processor time.
|9 Data Storage
||In ADO data is stored in a binary form.
||In ADO.NET, data is stored in XML form. With the use of XML, it stores data more easily.
||In ADO, firewalls are typically configured to prevent system-level requests, such as COM marshaling.
||In ADO.NET firewalls are supported because ADO.NET DataSet objects use XML for representing data.
||In this, objects are communicate in a binary mode.
||It uses XML for communication.
||It uses a Connection object to transfer commands to a data source with defined data constructs.
||ADO.NET does not require data constructs because it uses strongly typed characteristics of XML.
|13 Connection Model
||ADO supports only one model of connection i.e. Connection Oriented Data Access Architecture Model.
||ADO.NET supports two models of connection i.e. Connection-Oriented Data Access Architecture and Disconnected Oriented Data Access Architecture.
||ADO was geared for a two-tiered architecture.
||ADO.NET address a multi-tiered architecture.
||It derives information automatically at runtime based on metadata.
||In ADO.NET derives information at design time on metadata in order to provide better runtime performance.
|16. Multiple Transactions
||In ADO multiple transactions cannot be send using a single connection.
||In ADO.NET multiple transactions can be send using a single connection.
|17. Data Types
||It has a less number of data types.
||It has a huge and rich collection of data types.
||ADO serialized data in a proprietary protocol.
||ADO.NET serialized data using XML.
||ADO is less secured.
||ADO.NET much secured as compared to ADO.
|20 Based on
||ADO is based on Component Object Modelling.
||ADO.NET is a Common Language Runtime based library.
||ADO technology have less scalable.
||ADO.NET have more scalability with the use of locking mechanism.
||ADO technology use more resources as compared to ADO.NET.
||ADO.NET conserves limited resources.
||ADO have a poor performance.
||In ADO.NET performance is much better as compared to ADO.