Link to home
Start Free TrialLog in
Avatar of sneeri_c

asked on


When do the DataSets created as a project Datasource get read: When the specific form that utuilzies it requests the infroamtion or when the application is started?

Are these good to use or should I use another form to access the SQL Server data? This will be a multiuser apps if that makes a difference.

Avatar of whatsit2002
Flag of United States of America image

Link to home
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of Dmitry G
You may also use DaraReader, e.g. Especially if you need only read acces - it greatly improves performance (quite important for multiuser);

Choosing a DataReader or a DataSet
When deciding whether your application should use a DataReader (see Retrieving Data Using the DataReader) or a DataSet (see Using DataSets in ADO.NET), you should consider the type of functionality that your application requires. Use a DataSet to do the following:

Cache data locally in your application so that you can manipulate it. If you only need to read the results of a query, the DataReader is the better choice.

Remote data between tiers or from an XML Web service.

Interact with data dynamically such as binding to a Windows Forms control or combining and relating data from multiple sources.

Perform extensive processing on data without requiring an open connection to the data source, which frees the connection to be used by other clients.

If you do not require the functionality provided by the DataSet, you can improve the performance of your application by using the DataReader to return your data in a forward-only, read-only fashion. Although the DataAdapter uses the DataReader to fill the contents of a DataSet (see Populating a DataSet from a DataAdapter), by using the DataReader you can boost performance because you will save memory that would be consumed by the DataSet, as well as avoid the processing required to create and fill the contents of the DataSet.
Avatar of sneeri_c


Both of you thanks for the info.

Jason, when does it free up the memory it utilizes after the DataSets area filled.

Like most of the objects in .NET, the garbage collector has control over that, so you cannot pinpoint an exact time, but when the object is Dispose() 'd, you can pretty much guarantee you're going to get the memory back.