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
What is global assembly cache (gac)?
What is break mode? What are the options to step through code?
Can you please explain the difference between system.string and system.stringbuilder classes?
What is an arraylist?
What is writeline in vb.net?
What is intermediate langauge?
What is the size of .net object?
Can we use Vb.Net and C# language simultaneously in one .Net application?
Explain about the performance of visual basic?
How many ways the function can return values?
Can you please explain the difference between dispose and finalize()?
Explain about visual basic.net?
What is branching logic control in VB.NET?
What is late binding and early binding?
Explain the difference between thread and process?