Difference Between ADO And ADO.NET

SHARE

What Is ADO?

ADO is the acronym for ActiveX Data Objects. It is an application program interface from Microsoft that allows a programmer writing Windows applications get access to a relational or non-relational database from both Microsoft and other database providers. ADO acts as a layer to access any data stored in a generic manner from the application code. It eliminates the need to be knowledgeable in database implementation and reduces the complexity of dealing with the low level code needed to handle the data.

ADO originated from the concept of Remote Data Object (RDO) and Data Access Object (DAO) and was first released in 1996. As one of the constituents of MDAC (Microsoft Data Access Components), ADO together with other MDAC constituents provides a framework of components used by client applications to access SQL, semi-structured and legacy data stores.

What You Need To Know About ADO

  • ADO is a Component Object Model (COM) based library.
  • ADO has one main object that is used to reference data, called the Recordset Object. This object basically gives you a single table view of your data, although you can join tables to create a new set of records.
  • Client application needs to be connected always to data-server while working on the data, unless using client-side cursors or a disconnected Record Set.
  • ADO does not allow you to persist records in XML format. In other words, XML integration is not possible.
  • Locking feature is available in ADO.
  • With ADO, we cannot send multiple transactions using a single connection.
  • ADO derives information about data implicitly at runtime based on metadata that is often expensive to obtain.
  • Classical ADO architecture includes client side cursor and server side cursor.
  • A firewall can prevent execution of classical ADO.
  • ADO uses RecordSet to store the data from data source.
  • ADO includes implicit behaviors that may not always be required in an application and that may therefore limit performance.
  • ADO objects communicate in Binary mode.

What Is ADO.NET?

ADO.NET is a data access technology that provides communication between relational and non-relational systems through a common set of components. ADO.NET being a technology from Microsoft .NET Framework, can also be described as a set of classes (a framework) to interact with data sources such as databases and XML files.  ADO.NET framework is commonly used by programmers to access and modify data stored in relational database systems, though it can also access data in non-relational data sources. The following are a few of the .NET applications that use ADO.NET to connect to a database, execute commands and retrieve data from the database.

  • ASP.NET Web Applications
  • Console Applications
  • Windows Applications.

Furthermore, ADO.NET also provides the most direct method of data access within the .NET Framework. For a higher-level abstraction that allows applications to work against a conceptual model instead of the underlying storage model.

The main difference between ADO and ADO.NET is that, ADO.NET is an advanced data access technology designed to work in the .NET environment and is based on the disconnected model for data access. ADO.NET depends on managed providers of the Common Language Runtime (CLR) of the .NET framework. On the other hand, ADO uses Component Object Model (COM) technology for providing data access service from unmanaged code.

What You Need To Know About ADO.NET

  • ADO.NET is a Common Language Runtime (CLR) based library.
  • ADO.NET have various objects that allow you to access data in various ways. The DataSet object will actually allow you to store the relational model of your database. This allows you to pull up customers and their orders, accessing/updating the data in each related table individually.
  • Client is disconnected as soon as the data is processed. DataSet is disconnected at all times.
  • ADO.NET allows you to manipulate your data using XML as primary means. In other words, XML integration is possible.
  • Locking feature is not available in ADO.NET
  • With ADO.NET we can send multiple transactions using a single connection instance.
  • ADO.NET leverages known metadata at design time in order to provide better runtime performance and more consistent runtime behavior.
  • ADO.NET architecture doesn’t include such cursors.
  • ADO.NET has firewall proof and its execution will never be interrupted.
  • It uses Dataset to store the data from data source.
  • ADO.NET provides well-defined, factored components with predictable behavior, performance, and semantics.
  • ADO.NET uses XML for passing the data.

Also Read: Difference Between .NET CORE And .NET Framework

Difference Between ADO And ADO.NET In Tabular Form

BASIS OF COMPARISON ADO ADO.NET
Description ADO is a Component Object Model (COM) based library.   ADO.NET is a Common Language Runtime (CLR) based library.  
Objects ADO has one main object that is used to reference data, called the Recordset Object. This object basically gives you a single table view of your data, although you can join tables to create a new set of records.   ADO.NET have various objects that allow you to access data in various ways. The DataSet object will actually allow you to store the relational model of your database. This allows you to pull up customers and their orders, accessing/updating the data in each related table individually.  
Client Application Client application needs to be connected always to data-server while working on the data, unless using client-side cursors or a disconnected Record Set.   Client is disconnected as soon as the data is processed. DataSet is disconnected at all times.  
XML Interrogation ADO does not allow you to persist records in XML format. In other words, XML integration is not possible.   ADO.NET allows you to manipulate your data using XML as primary means. In other words, XML integration is possible.  
Locking Feature Locking feature is available in ADO.   Locking feature is not available in ADO.NET  
Multiple Transaction With ADO, we cannot send multiple transactions using a single connection.   With ADO.NET we can send multiple transactions using a single connection instance.  
Metadata ADO derives information about data implicitly at runtime based on metadata that is often expensive to obtain.   ADO.NET leverages known metadata at design time in order to provide better runtime performance and more consistent runtime behavior.  
Client & Server Side Cursors Classical ADO architecture includes client side cursor and server side cursor.   ADO.NET architecture doesn’t include such cursors.  
Firewall Interruption A firewall can prevent execution of classical ADO.   ADO.NET has firewall proof and its execution will never be interrupted.  
Storage Of Data From Data Source ADO uses RecordSet to store the data from data source.   It uses Dataset to store the data from data source.  
Factored Components ADO includes implicit behaviors that may not always be required in an application and that may therefore limit performance.   ADO.NET provides well-defined, factored components with predictable behavior, performance, and semantics.  
Data Passage ADO objects communicate in Binary mode.   ADO.NET uses XML for passing the data.  

Comments are closed.