ADO .NET

What are the various objects in Dataset ?

Dataset has a collection of DataTable object within the Tables collection. Each DataTable object contains a collection of DataRow objects and a collection of DataColumn objects. There are also collections for the primary keys, constraints, and default values used in this table which is called as constraint collection, and the parent and child relationships between the tables. Finally, there is a DefaultView object for each table. This is used to create a DataView object based on the table, so that the data can be searched, filtered or otherwise manipulated while displaying the data.

What is Dataset object?

The DataSet provides the basis for disconnected storage and manipulation of relational data. We fill it from a data store,work with it while disconnected from that data store, then reconnect and flush changes back to the data store if required.

What is the use of dataadapter ?

These are objects that connect one or more Command objects to a Dataset object. They provide logic that would get data from the data store and populates the tables in the DataSet, or pushes the changes in the DataSet back into the data store.

  • An OleDbDataAdapter object is used with an OLE-DB provider
  • A SqlDataAdapter object uses Tabular Data Services with MS SQL Server.

What is the use of command objects ?

They are used to connect connection object to Datareader or dataset. Following are the methods provided by command object :-

  • ExecuteNonQuery :- Executes the command defined in the CommandText property against the connection defined in the Connection property for a query that does not return any row (an UPDATE, DELETE or INSERT). Returns an Integer indicating the number of rows affected by the query.
  • ExecuteReader :- Executes the command defined in the CommandText property against the connection defined in the Connection property. Returns a “reader”object that is connected to the resulting rowset within the database, allowing the rows to be retrieved.
  • ExecuteScalar :- Executes the command defined in More >

What is the use of connection object ?

They are used to connect a data to a Command object.

  • An OleDbConnection object is used with an OLE-DB provider
  • A SqlConnection object uses Tabular Data Services (TDS) with MS SQL Server

What are major difference between classic ADO and ADO.NET ?

Following are some major differences between both

  • As in classic ADO we had client and server side  cursors they are no more present in ADO.NET. Note it’s a disconnected model so they are no more applicable.
  • Locking is not supported due to disconnected model.
  • All data persist in XML as compared to classic ADO where data persisted in Binary format also.

What is difference between dataset and datareader ?

Following are some major differences between dataset and datareader :-

  • DataReader provides forward-only and read-only access to data, while theDataSet object can hold more than one table (in other words more than onerowset) from the same data source as well as the relationships between them.
  • Dataset is a disconnected architecture while datareader is connected architecture.
  • Dataset can persist contents while datareader can not persist contents, they are forward only.

What are the two fundamental objects in ADO.NET ?

Datareader and Dataset are the two fundamental objects in ADO.NET.

Can you give a overview of ADO.NET architecture ?

The most important section in ADO.NET architecture is “Data Provider”. Data Provider provides access to datasource (SQL SERVER, ACCESS, ORACLE).In short it provides object to achieve functionalities like opening and closing connection, retrieve data   and update data. In the below figure you can see the four main sections of a data provider :-

?   Connection

?   Command object (This is the responsible object to use stored procedures) ?   Data Adapter (This object acts as a bridge between datastore and dataset). ?   Datareader (This object reads data from data store in forward only mode).

Dataset object represents disconnected and cached data. If you see More >

What is the namespace in which .NET has the data functionality classes ?

Following are the namespaces provided by .NET for data management :-

System.data

This contains the basic objects used for accessing and storing relational data, such as DataSet,DataTable, and DataRelation. Each of these is independent of the type of data source and the way we connect to it.

System.Data.OleDB

It contains the objects that we use to connect to a data source via an OLE-DB provider, such as OleDbConnection, OleDbCommand, etc. These objects inherit from the common base classes, and so have the same properties, methods, and events as the SqlClient equivalents.

System.Data.SqlClient:

This contains the objects that we use to connect to a data source via More >