zoukankan      html  css  js  c++  java
  • C#-----DataTable的Select方法

    Datatable中经常用到的一个方法——Select,微软提供了四个函数的重载,分别是

    • Select()——获取所有 System.Data.DataRow 对象的数组
    • Select(string filterExpression)——按照主键顺序(如果没有主键,则按照添加顺序)获取与筛选条件相匹配的所有 System.Data.DataRow 对象的数组
    • Select(string filterExpression, string sort)——获取按照指定的排序顺序且与筛选条件相匹配的所有 System.Data.DataRow 对象的数组
    • Select(string filterExpression, string sort, DataViewRowState recordStates)——获取与排序顺序中的筛选器以及指定的状态相匹配的所有 System.Data.DataRow 对象的数组
    using System;
    using System.Collections.Generic;
    using System.Data;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    
    namespace ConsoleApp1
    {
        class Program
        {
            static void Main(string[] args)
            {
                DataTable dt = new DataTable();
                dt.Columns.Add("USER_DEPARTMENT", typeof(string));
                dt.Columns.Add("USER_NAME", typeof(string));
                dt.Columns.Add("USER_PWD", typeof(string));
                dt.Columns.Add("USER_AGE", typeof(int));
                dt.Rows.Add(new object[] {"销售部","白起","123456",25 });
                dt.Rows.Add(new object[] { "销售部", "赵牧", "123456", 22 });
                dt.Rows.Add(new object[] { "生产部", "李斯", "123456", 27 });
                dt.Rows.Add(new object[] { "生产部", "商鞅", "123456", 20 });
    
                //Select() 获取所有的数组 System.Data.DataRow 对象
                DataRow[] dataRows = dt.Select();
                foreach(DataRow row in dataRows)
                {
                    Console.WriteLine(row["USER_DEPARTMENT"]+" "+row["USER_NAME"]+" "+ row["USER_AGE"]);
                }
                Console.WriteLine("-----------------------------");
    
                //Select(string filterExpression) 获取所有的数组 System.Data.DataRow 与筛选条件匹配的对象
                string strDept = "销售部";
                DataRow[] dataRows1 = dt.Select("USER_DEPARTMENT='"+ strDept+"'");
                foreach (DataRow row in dataRows1)
                {
                    Console.WriteLine(row["USER_DEPARTMENT"] + " " + row["USER_NAME"] + " " + row["USER_AGE"]);
                }
                Console.WriteLine("-----------------------------");
    
                //Select(string filterExpression, string sort) 获取所有的数组 System.Data.DataRow 相匹配的筛选条件,在指定的排序顺序中的对象
                DataRow[] dataRows2 = dt.Select("USER_DEPARTMENT='" + strDept + "'", "USER_AGE asc");
                foreach (DataRow row in dataRows2)
                {
                    Console.WriteLine(row["USER_DEPARTMENT"] + " " + row["USER_NAME"] + " " + row["USER_AGE"]);
                }
    
                Console.ReadLine();
            }
        }
    }

    运行结果:

    销售部 白起 25
    销售部 赵牧 22
    生产部 李斯 27
    生产部 商鞅 20
    -----------------------------
    销售部 白起 25
    销售部 赵牧 22
    -----------------------------
    销售部 赵牧 22
    销售部 白起 25

  • 相关阅读:
    抓住六个点,谈唯品会的峰值系统应对实践
    从服务端架构设计角度,深入理解大型APP架构升级
    腾讯微信技术总监周颢:一亿用户增长背后的架构秘密
    App服务端架构变迁
    微服务、SOA 和 API对比与分析
    QPS从0到4000请求每秒,谈达达后台架构演化之路
    重构心法——打造高质量代码
    [转]使用 C++11 编写 Linux 多线程程序
    [转]编译防火墙——C++的Pimpl惯用法解析
    [转]C++ 取代switch的三种方法
  • 原文地址:https://www.cnblogs.com/fengfuwanliu/p/10469121.html
Copyright © 2011-2022 走看看