Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

C# (Visual studio): Correlation between database, dataset, binding source

I am just learning C# through Visual Studio 2008?

I was wondering what exactly is the correlation between dabases, datasets and binding sources?

As well, what is the function of the table adapter?

like image 663
Northener Avatar asked Feb 28 '09 20:02

Northener


2 Answers

At a super high level:

  • Database -- stores raw data

  • DataSet -- a .NET object that can be used to read, insert, update and delete data in a database

  • BindingSource -- a .NET object that can be used for Data Binding for a control. The BindingSource could point to a DataSet, in which case the control would display and edit that data

  • TableAdapter -- Maps data from a database table into a DataSet

There is a lot more to all of these, and understanding the way ADO.NET is architected can take a bit of time. Good luck!

like image 58
Guy Starbuck Avatar answered Sep 23 '22 05:09

Guy Starbuck


A DataSet is usually used to hold a result from the database in memory, i.e. it contains a DataTable object. The DataSet and DataTable objects themselfs are independent of the database, so the result doesn't have to come from a database. The DataSet can contain several DataTables, and you can even define relations between them. It's like a mini database in memory.

A binding source is any object that can provide a list of objects with properties. A DataSet or a DataTable can do that, but it could basically be any kind of list containing objects that has properties.

A TableAdapter is used to read data from a DataReader provided by a Command object, and put the data in a DataTable object.

like image 43
Guffa Avatar answered Sep 23 '22 05:09

Guffa