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


    一,为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]

    两种方法查出来的效果是一样的。

    本文来源于:http://www.lmwlove.com/ac/ID803

  • 相关阅读:
    刷新
    自定义背景色
    会议通js
    Flex Layout Attribute
    spin.js
    jq size()与length的区别
    初识node.js
    [Swift]归并排序 | Merge sort
    [Swift]桶排序 | Bucket sort
    [Swift]计数排序 | Counting sort
  • 原文地址:https://www.cnblogs.com/wyfs/p/2425246.html
Copyright © 2020-2023  润新知