TableAdapter、Dataset与BindingSource的关系

 

(小弟菜鸟一个,在此乱涂一篇,如发现有误,请指正,不尽感激)
TableAdapter、Dataset与BindingSource的关系
图1:物理数据库—内存数据库库—控件的关系

TableAdapter:沟通物理数据库(database)和内存数据库(dataset),提供select,update,insert,delete四大操作

BingdingSource:将内存数据表(datatable)绑定到控件(control),并为内存数据表(datatable)提供过滤条件(Filter)和排序(Sort)两功能。注意两点:

1、可以用一个BindingSource绑定多个控件,实现不同控件数据的联动。例如,有一DataTable(学号、姓名、成绩、备注),通过一个BindingSource,将学号、姓名、成绩绑定到一个Datagridview,将备注绑定到一个Lable,在datagridview里选中不同的学生,Lable将会出现相应学生的备注信息。(如果datagridview和Lable用两个不同的BindingSource,则不能连动)

2、同一个DataTable也可通过不同的BindingSource绑定到不同的控件。

在xsd文件的设计视图下,Datatable和TableAdapter是成对出现的,如图2,有一个数据表,所以TableAdapter中自动生成一个返回行值的select语句,用来填充此数据表的,默认是Fill,GetData方法。TableAdapter中允许有多个Select(返回行值),select(返回单值),Update,Delete,Insert的查询。注意:TableAdapter中的每个返回行值的select查询,其字段要与上面的数据表的字段相对应。
TableAdapter、Dataset与BindingSource的关系
 

图2:xsd文件可视化下的DataTable与TableAdapter

你可能感兴趣的:(Adapter)