欢迎来到.net学习网

欢迎联系站长一起更新本网站!QQ:879621940

您当前所在位置:首页 » C# » 正文

热门阅读

为DataTable设置主键及利用主键查找行数据

创建时间:2012年03月29日 16:17  阅读次数:(17299)
分享到:

一,为DataTable设置主键


如果我们为DataTable设置一个主键,那么我们就可以根据主键在DataTable中查到唯一的数据。为什么是唯一的数据呢?因为根据主键查出来的记录永远都是唯一的,呵呵,要不然它与DataTable的Select方法是一样的效果了。当然,利用DataTable.Select("能确定唯一的条件").Rows[0]也可以找到与利用主键查找到的一样的信息。

DataTable的主键属性为PrimaryKey,利用该属性,我们可以设置或者获取DataTable的主键。因为DataTable的主键和SQL Server的主键一样,存在联合主键的问题,所以PrimaryKey应该是一个DataColumn数组。我们可以先设置一个DataColumn数组,当然,这个数组中的列都应该是该DataTable中的列。然后将这个数组赋给PrimaryKey属性作为DataTable的主键。

以下为设置PrimaryKey的示例:
//先声明一个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就是我们利用主键查找出来的唯一的行。当然,我们也可以利用如下方法来查找到该行数据:
DataRow dr=dt.Select("A='school' and B='class'").Rows[0]

两种方法查出来的效果是一样的。
来源:.net学习网
说明:所有来源为 .net学习网的文章均为原创,如有转载,请在转载处标注本页地址,谢谢!
【编辑:Wyf

打赏

取消

感谢您的支持,我会做的更好!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

最新评论

共有评论1条
  • #1楼  评论人:mimi  评论时间:2012-7-16 8:45:45
  • 利用主键查找数据确实是方便一些。
发表评论:
留言人:
内  容:
请输入问题 28+73=? 的结果(结果是:101)
结  果: