In C#, we work in two different ways with database connectivity. As you know when we create software or website or any other application which is connected to the database we need to make connection to the database to get data. Here you can get data in two different ways.
Either it can be connected architecture where you go and connect to the database and get data or disconnected architecture where you connect to the database first time and get all data in an object and use it if required. You can perform any action like insert, update, and search on this.
You can use two C# objects to achieve this, first one is DataSet and other one is DataReader.
It is a type of disconnected architecture. Disconnected architecture means, you don't need to connect always when you want to get data from the database. You can get data from dataset; basically, DataSet is a collection of data tables. We can store the database table, view data in the DataSet and can also store the xml value in dataset and get it if required.
To achieve this, you need to use DataAdapter which work as a mediator between Database and DataSet.
-It is a connected architecture, which means when you require data from the database you need to connect with database and fetch the data from there. You can use if you need updated data from the database in a faster manner. DataReader is Read/Forward only that means we can only get the data using this but we cannot update or insert the data into the database. It fetches the record one by one.
The first thing to notice in the application is that it contains a class that is responsible for all the ADO.NET logic. The class DataAccess (file: DataAccess.cs) contains all the ADO.NET classes and methods. All the pages use this class. This class can be reused in any application with some minor application specific changes. The class diagram for the class is: