What is the Difference between Dataset and Datareader?
Answer Posted / khawar rizvi
DataReader
Datareader is like a forward only recordset. It fetches one
row at a time so very less Network Cost compare to DataSet
(Fetches all the rows at a time). DataReader is readonly so
we cannot do any transaction on them. DataReader will be
the best choice where we need to show the data to the user
which requires no transaction ie reports. Due to DataReader
is forward only we cannot fetch the data randomly. .NET
Dataproviders optimizes the datareaders to handle the huge
amount of data.
DataSet
DataSet is always a bulky object that requires lot of
memory space compare to DataReader. We can say the dataset
as a small database coz it stores the schema and data in
the application memory area. DataSet fetches all data from
the datasource at a time to its memory area. So we can
traverse through the object to get required data like
qureying database.
The dataset maintains the relationships among the
datatables inside
it. We can manipulate the realational data as XML using
dataset.We can do transactions (insert/update/delete) on
them and finally the modifications can be updated to the
actual database. This provides impressive flexibility to
the application but with the cost of memory space. DataSet
maintains the original data and the modified data
seperately which requires more memory space. If the amount
of data in the dataset is huge
then it will reduce the applications performance
dramatically.
The following points will improve the performane of a
dataset...
1. Don't use the commandbuilder to generate the sql
statements.
Though it reduces the development time the query generated
by the command builder will not be always as required. For
example
To update the details of an author table the command
| Is This Answer Correct ? | 45 Yes | 10 No |
Post New Answer View All Answers
List the different types of assembly?
Explain the use of serialization and deserialization?
Explain jagged array in vb.net?
Define manifest?
What are different types of jit ?
What is redim keyword and its use?
What is the difference between convert.tostring and .tostring() method?
Explain the difference between namespace and assembly?
Explain the difference between c# and vb.net?
Explain about garbage collection?
Using VB, how can you change the Mouse Pointer?
What is enumerator?
Explain about the keyword must inherit?
Explain redim keyword?
How to achieve Polymorphism in VB.Net?