zoukankan      html  css  js  c++  java
  • ASP.NET基础教程在DataTable对象中过滤与排序DataRow对象

    要过滤与排序DataTable对象中的DataRow,用DataTable的Select()方法,Select()方法调用:

    DataRow[] Select()

    DataRow[] Select(string filterExpression)

    DataRow[] Select(string filterExpression,string sortExpression)

    DataRow[] Select(string filterExpression,string
    SortExpression,DataViewRowState myDataViewRowState)
    其中:
    filterExpression:
         指定要选择的行 sortExpression:指定选择的行如何排序
    myDataViewRowState:
         指定要选择的行的状态,可以将myDataViewRowState设置为System.Data.DataViewRowState枚举中定义的常量之一:

    例代码如下:

    //打开数据库
    con.Open();

    //SQL语句
    string oSql="select id,name,station,level,dept from verify";

    //从数据库中提取数据
    SqlDataAdapter da=new SqlDataAdapter(oSql,con);

    //创建并声明记录集对象
    DataSet ds=new DataSet();

    //将数据库提取出的数据加载到记录集
    da.Fill(ds,"verify");

    //关闭数据库
    con.Close();
     
    //从记录集中获取表对象
    DataTable dt=ds.Tables[“verify”];
     
    //返回DataTable中所有行,不进行任何过滤和排序
    DataRow[] dr=dt.select();
     
    //使用过滤表达式,只返回dept ,DataColumn值等于信息组的DataRow对象
    DataRow[] dr=dt.select(“dept=‘信息组’”);
     
    //使用过滤和排序表达式按降序将DataRow对象排序
    DataRow[] dr=dt.select(“dept=‘信息组’”,“id desc”);
     
    //以原行进行过滤和排序
    DataRow[] dr=dt.select(“dept=‘信息组’”,“id desc”,DataViewRowState.OriginalRows);
     
    //循环将行集中的内容在页面上输出输出
    foreach(DataRow datarow in dr)
    {
      Response.Write(datarow["name"].ToString()+"<br>");
      Response.Write(datarow["station"].ToString()+"<br>");
      Response.Write(datarow["level"].ToString()+"<br>");
      Response.Write(datarow["dept"].ToString()+"<br>");
    }

    过滤与排序表达式与SELECT语句的WHERE与ORDER BY从句相似,因此可以在调用SELECT()方法进使用非常强大的表达式.
    例如:
    可以在过滤表达式中使用AND、OR、NOT、IN、LIKE、比较运算符、算术运算符、通配符和聚合函数。

    -----------------------------------------------------------------------------------------------
    语法如下如下:
    //创建一个过滤条件的字符串
    string filter = "字段名='"+条件+"'";
    //取出符合条件的记录
    DataRow[] rows = DataTable.Select(filter);
    这样记录就过滤出来了。

    -----------------------------------------------------------------------------------------------
    SqlConnection sqlconn = new SqlConnection(connString);
    SqlDataAdapter sqladp = new SqlDataAdapter(sql, sqlconn);DataSet ds = new DataSet();sqladp.Fill(ds);
                foreach (DataRow dr in ds.Tables[0].Rows)Console.WriteLine(dr[0].ToString()+" "+dr[1].ToString());

  • 相关阅读:
    【BZOJ4892】【TJOI2017】—DNA(后缀数组+ST表)
    【BZOJ1563】【NOI2009】—诗人小G(决策二分栈优化dp)
    【洛谷P5249】【LnOI2019】—加特林轮盘赌(概率dp)
    【Ural1519】— Formula1(轮廓线dp)
    【BZOJ3728】【PA2014】—Final Zarowki(思维题)
    【BZOJ3730】—震波(动态点分治)
    【Hackerrank (70)】—Range Modular Query(莫队+暴力)
    【省选模拟】—Cactus(圆方树+dfs序)
    【BZOJ2125】—最短路(圆方树+树链剖分)
    python 基础 列表
  • 原文地址:https://www.cnblogs.com/beeone/p/2010782.html
Copyright © 2011-2022 走看看