ADO.NET database connection is of two types:
1. Connected Model:
Implemented with "DataReader" buffer.
2. Disconnected Model:
Implemented with "DataSet", "DataTable", "DataRow" buffers.
To overcome the limitations of "Connected Model", ADO.NET introduces "Disconnected Model".
The main advantage of "Disconnected Model" is, even though the connected is not opened, it works. That means, when you execute any statement, the connected will be opened, then the statement will be executed and then finally the connected will be closed.
But the connected model is not like that. If you take the buffer called "data reader" which is used in the connected model, it works when the connection is opened only. But the "disconnected model" buffers work even though the connection is opened or not.
In the connected model, we were using only one buffer.
In the disconnected model, three buffers are used.