怎样为DataTable设置主键及找行数据
只要是数据集中都应该存在主键,以确定数据集中唯一的值。那么,我们要如何为DataTable设置主键及利用主键在DataTable索引值呢?
步骤/方法
-
为DataTable设置主键
DataTable的主键属性为PrimaryKey,利用该属性,我们可以设置或者获取DataTable的主键。因为DataTable的主键和SQL Server的主键一样,存在联合主键的问题,所以PrimaryKey应该是一个DataColumn数组。我们可以先设置一个DataColumn数组,当然,这个数组中的列都应该是该DataTable中的列。然后将这个数组赋给PrimaryKey属性作为DataTable的主键。
-
//先声明一个DataTable
DataTable dt = new DataTable();
dt.Columns.Add("A");
dt.Columns.Add("B");
dt.Columns.Add("C");
dt.Columns.Add("D"); -
//然后我们将列A与列B作为dt的联合主键
DataColumn[] cols = new DataColumn[] { dt_smartgrid.Columns["A"], dt_smartgrid.Columns["B"] };
dt.PrimaryKey=cols;很简单,我们就为dt设置好主键了。
-
利用主键查找行数据
上一步我们已经为DataTable设置好主键,这一步我们演示如何利用主键查找数据。
首先我们要声明一个object[]数据,对应主键的数组中列的值,如上面的主键数组,我们声明一个object[]数组并赋值。
示例:object[] objs=new object[]{"school","class"};
DataRow dr=dt.Rows.Find(objs);上面的dr就是我们利用主键查找出来的唯一的行。