注册 | 登录 忘记密码? 51cto首页 | 博客 | 论坛 | 招聘
热点文章 获取当前页面路径,实现权..
 帮助

ASP.NET基础教程-在DataTable对象中过滤与排序DataRow对象


版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://chenxing.blog.51cto.com/240526/45049
要过滤与排序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、比较运算符、算术运算符、通配符和聚合函数。




    文章评论
 
 

发表评论

昵   称:
验证码:  点击图片可刷新验证码  博客过2级,无需填写验证码
内   容: