zoukankan      html  css  js  c++  java
  • 为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

  • 相关阅读:
    在spring中该如何使用DTO,以及DTO和Entity的关系
    AngularJs踩过的坑
    springMVC正确使用GET POST PUT和DELETE方法,如何传递参数
    Mac下使用终端连接远程使用ssh协议的git服务器
    springMVC的异常处理
    根据业务规则分析业务对象,然后生成表结构
    在线资源--图片/json等
    js中的Hook
    diamond源码阅读-目录监控
    maven常用命令
  • 原文地址:https://www.cnblogs.com/wyfs/p/2425246.html
Copyright © 2011-2022 走看看