What is main difference between ADO and ADO.Net

1. In ADO, the in-memory representation of data is the recordset.
In ADO.NET, it is the dataset
2. .A recordset looks like a single table.
If a recordset is to contain data from multiple database tables, it must use a JOIN query, which assembles the data from the various database tables into a single result table.Dataset uses relations to join tables
3. In ADO you scan sequentially through the rows of the recordset using the ADO MoveNext method.
In ADO.NET, rows are represented as collections,
so you can loop through a table as you would through any collection,
or access particular rows via ordinal or primary key index.
4. A cursor is a database element that controls record navigation,
the ability to update data, and the visibility of changes made to the database by other users.
ADO.NET does not have an inherent cursor object, but instead includes data classes
that provide the functionality of a traditional cursor. For example,
the functionality of a forward-only, read-only cursor is available in the ADO.NET DataReader object. For more information

5. In ADO.NET you open connections only long enough to
perform a database operation, such as a Select or Update.
You can read rows into a dataset and then work with them without staying
connected to the data source. In ADO the recordset can provide disconnected access,
but ADO is designed primarily for connected access.

6. There is one significant difference between disconnected
processing in ADO and ADO.NET. In ADO you
communicate with the database by making calls to an OLE DB provider.
In ADO.NET you communicate with the database through a data adapter
which makes calls to an OLE DB provider or the APIs provided by the
underlying data source. The important difference is that in ADO.NET the data adapter
allows you to control how the changes to the dataset are transmitted to the database — by optimizing for
performance, performing data validation checks, or adding any other extra processing.
7. Transmitting an ADO.NET dataset between applications
is much easier than transmitting an ADO disconnected recordset.
To transmit an ADO disconnected recordset from one component to another,
you use COM marshalling. To transmit data in ADO.NET, you use a dataset,
which can transmit an XML stream.

The transmission of XML files offers the following advantages over COM marshalling:

Richer data types
COM marshalling provides a limited set of data types — those defined by the COM standard. Because the transmission of datasets in ADO.NET is based on an XML format, there is no restriction on data types. Thus, the components sharing the dataset can use whatever rich set of data types they would ordinarily use.

Performance
Transmitting a large ADO recordset or a large ADO.NET dataset can consume network resources; as the amount of data grows, the stress placed on the network also rises. Both ADO and ADO.NET let you minimize which data is transmitted. But ADO.NET offers another performance advantage, in that ADO.NET does not require data-type conversions. ADO, which requires COM marshalling to transmit records sets among components, does require that ADO data types be converted to COM data types.

Penetrating Firewalls
A firewall can interfere with two components trying to transmit disconnected ADO recordsets. Remember, firewalls are typically configured to allow HTML text to pass, but to prevent system-level requests (such as COM marshalling) from passing.

Because components exchange ADO.NET datasets using XML, firewalls can allow datasets to pass.

check out these links for difference
with example
http://aspalliance.com/128_A_Quick_Comparison_of_ADO_and_ADONET__Part_I
http://www.devarticles.com/c/a/ADO.NET/A-Practical-Comparison-of-ADO-and-ADO.NET/
http://www.experts-exchange.com/Databases/Q_20985045.html

2 comments:

IT Tutorials said...

It is really a great work and the way in which u r sharing the knowledge is excellent.Thanks for helping me to understand basic concepts. As a beginner in Dot Net programming your post help me a lot.Thanks for your informative article. dot net training and placement in chennai | dot net training center in chennai

Unknown said...

COM marshalling provides a limited set of data types — those defined by the COM standard. Because the transmission of datasets in ADO.NET is based on an XML format, there is no restriction on data types.Thanks for your valuable information. dot net training and placement in chennai | dot net training institute in velachery

Post a Comment