为DataSet对象中的表指定主键、建立关系

为DataSet对象中的表指定主键、建立关系,可以保证数据的完整性,例如,主键取值不能重复(例如,定义学号位主键,学号不能重复),不能删除主表中的数据(例如某个学生),而不删除另一个表中和其有关的数据(例如另一个表中的学生成绩)等等。
. 设置表的主键:(其中MyDataSet是DataSet类对象)
DataColumn[] pKey=new DataColumn[1];
pKey[0]=MyDataSet.Tables["Student"].Columns["StudentNum"];
MyDataSet.Tables["Student"].PrimaryKey=pKey;
. 建立两个表的主从关系:(MyDataSet是DataSet类对象,主从关系意义见8.13节)
MyDataSet.Relations.Add("NewRelation",//关系的名称
MyDataSet.Tables["Student"].Columns["StudentNum"],//该关系的父列
MyDataSet.Tables["Score"].Columns["StudentNum"]);//该关系的子列
DataGrid控件和数据绑定概念
DataGrid控件用来按行和列格式显示DataSet对象中指定数据表的数据。其常用的属性和方法如下:
. 属性DataSource:用来指定要显示的数据表所在的数据集DataSet对象。
. 属性DataMember:用来指定在数据集DataSet对象中要显示的数据表的名字。当这两个属性被正确设定,DataGrid控件将以网格形式正确显示指定数据表。
. 属性CaptionText:获取或设置DataGrid控件标题的文本
. 属性CaptionVisible:该值指示DataGrid控件的标题是否可见。
168
. 属性TableStyles:可以编辑修改DataGrid控件的外观,具体例子见后边例子。
. 属性CurrentRowIndex:获取或设置DataGrid控件中当前选定行的索引号。
. 属性Item:索引指示器定义:object this[int rowIndex,int columnIndex],例如,DataGraid控件属性Name=grid,得到第2行第3列数据用如下语句:
object ob=grid[2][3];
. 属性AllowSorting:指示是否可以通过单击列标头对网格进行重新排序。
. 属性ReadOnly:获取或设置网格控件是否处于只读模式。
. 方法Select(Int32):选择参数指定行,参数为行号。
当DataGraid控件的属性DataSource和DataMember被正确设定,DataGraid控件将以网格形式正确显示DataSet对象中相应数据表。DataGraid控件中的数据被修改后,DataSet对象中相应数据表中的数据也被修改。这种关系叫做数据绑定。数据绑定有两个要点:第一,支持数据绑定的控件能按绑定的数据源正确显示数据源的数据,第二,在支持数据绑定控件中被修改的数据能被正确写回数据源,这里的数据源一般是数据集DataSet对象中的一个表或者是表中的一个字段。许多控件都支持数据绑定。

原文地址:https://www.cnblogs.com/losesea/p/2815063.html