Java自学者论坛

 找回密码
 立即注册

手机号码,快捷登录

恭喜Java自学者论坛(https://www.javazxz.com)已经为数万Java学习者服务超过8年了!积累会员资料超过10000G+
成为本站VIP会员,下载本站10000G+会员资源,会员资料板块,购买链接:点击进入购买VIP会员

JAVA高级面试进阶训练营视频教程

Java架构师系统进阶VIP课程

分布式高可用全栈开发微服务教程Go语言视频零基础入门到精通Java架构师3期(课件+源码)
Java开发全终端实战租房项目视频教程SpringBoot2.X入门到高级使用教程大数据培训第六期全套视频教程深度学习(CNN RNN GAN)算法原理Java亿级流量电商系统视频教程
互联网架构师视频教程年薪50万Spark2.0从入门到精通年薪50万!人工智能学习路线教程年薪50万大数据入门到精通学习路线年薪50万机器学习入门到精通教程
仿小米商城类app和小程序视频教程深度学习数据分析基础到实战最新黑马javaEE2.1就业课程从 0到JVM实战高手教程MySQL入门到精通教程
查看: 496|回复: 0

[datatable]关于在DataTable中执行DataTable.Select("条件")返回DataTable的解决方法

[复制链接]
  • TA的每日心情
    奋斗
    2024-11-24 15:47
  • 签到天数: 804 天

    [LV.10]以坛为家III

    2053

    主题

    2111

    帖子

    72万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    726782
    发表于 2021-4-30 09:19:56 | 显示全部楼层 |阅读模式
    009-04-26 11:09关于在DataTable中执行DataTable.Select("条件")返回DataTable的解决方法
    在实际编程工程中,常常遇到这样的情况:DataTable并不是数据库中的,或者DataTable尚未写到数据库,或者从数据库中读出的DataTable已经在本地被改动,又没有写回数据库(可能还要作其他改动),在这些情况下,其实只要用.NET类库中提供的DataView类的强大功能(主要是用它的RowFilter属性),就能方便地解决这类查询问题。
    常有网友在网上询问怎么在DataTable中执行DataTable.Select("条件")返回DataTable,今天我在这里给个解决方法给大家参考:
    代码如下
    
     /**//// <summary>
            /// 执行DataTable中的查询返回新的DataTable
            /// </summary>
            /// <param name="dt">源数据DataTable</param>
            /// <param name="condition">查询条件</param>
            /// <returns></returns>
            private DataTable GetNewDataTable(DataTable dt,string condition)
            {            
                 DataTable newdt = new DataTable(); 
                 newdt=dt.Clone();
                 DataRow[] dr = dt.Select(condition); 
                for(int i=0;i<dr.Length;i++) 
                { 
                     newdt.ImportRow((DataRow)dr);
                 } 
                return newdt;//返回的查询结果
             }
    
    例:DataRow dr=dt.Select(学号=108)[0]; 
          string sss = dr[姓名].ToString(); 
    例:DataRow[] rows = dt.Select(学号='108');
    if(rows.Length   0)
    {
    string sss = rows[0][姓名].ToString();
    }
    例:Select后,框架不会变的,Select只是筛选记录,不会改变列。 
      
    string name=string.Empty; 
    DataRow[] rows = dt.Select(学号=108); 
    if (rows!=null   rows.Length0) 
       name=rows[0][姓名].ToString();//第0行即返回值的第一行,即返回结果
    例:string sss = dt.Select( 姓名= from Tables[0] where [学号]=108).ToString(); 
      

     

    哎...今天够累的,签到来了1...
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|手机版|小黑屋|Java自学者论坛 ( 声明:本站文章及资料整理自互联网,用于Java自学者交流学习使用,对资料版权不负任何法律责任,若有侵权请及时联系客服屏蔽删除 )

    GMT+8, 2025-1-22 21:42 , Processed in 0.075401 second(s), 29 queries .

    Powered by Discuz! X3.4

    Copyright © 2001-2021, Tencent Cloud.

    快速回复 返回顶部 返回列表