DataTable查询

30 篇文章 1 订阅
这里说到的查询有两种。
1.DataTable.Select
2.DataTable.Rows.Find

a>先建立一个DataTable供使用吧。

  /// <summary>
        /// 获取单张表
        /// </summary>
        /// <returns></returns>
        public static DataTable GetTable()
        {
            DataTable dt = new DataTable();
            dt . Columns . Add ( new   DataColumn ( "Id" ,   typeof ( int )));
            dt . Columns . Add ( new   DataColumn ( "Name" ,   typeof ( string )));
            dt . Columns . Add ( new   DataColumn ( "Age" ,   typeof ( int )));
             DataRow  dr  =  dt . NewRow ();
            dr [ "Id" ]   =   1 ;
            dr [ "Name" ]   =   "tangh" ;
            dr [ "Age" ]   =   20 ;
            dt . Rows . Add ( dr );
            dr  =  dt . NewRow ();
            dr [ "Id" ]   =   2 ;
            dr [ "Name" ]   =   "tangha" ;
            dr [ "Age" ]   =   19 ;
            dt . Rows . Add ( dr );
            dr  =  dt . NewRow ();
            dr [ "Id" ]   =   3 ;
            dr["Name"] = "tanghao";    
dr [ "Age" ] = 21 ;
            dt . Rows . Add ( dr );
            return dt ;
        }


         
2.然后我们来使用第一种Select方法。

/// <summary> /// 使用DataTable.Select方法检索 /// </summary> public static void VilideDataTableSelect() { DataTable dt = GetTable(); // 类似where条件查询,可以使用Id=2 and Name=ddd DataRow[] rows = dt.Select("Id=2 and Name like 'tang%'"); // select类似where条件 foreach (DataRow dr in rows) { Console.Write(string.Format("Id={0},Name={1},Age={2}", dr["Id"], dr["Name"], dr["Age"])); } }

3.最后使用以下,Find方法。

/// <summary> /// 使用DataTable.Rows.Find方法检索 /// </summary> public static void VilideDataRowFind() { DataTable dt = GetTable(); // 设置主键,可以使用复合主键 dt.PrimaryKey = new DataColumn[] { dt.Columns["Id"] }; DataRow dr = dt.Rows.Find(2); // 查找Id=2的。即,这里检索主键。 Console.Write(string.Format("Id={0},Name={1},Age={2}", dr["Id"], dr["Name"], dr["Age"])); }

总结:到现在才发现原来本身有很多方法可以检索的,所以也不必每次都循环遍历查找了。
O(∩_∩)O~。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值