• ADO.NET 的使用(二)


    一、本篇主要讲ADO.NET的核心DataSet

    DataSet里面有个DataTable,DataTable还有个对应的DataView
    首先呢,假设数据库的数据

    id name mob
    100 张三 15412486
    102 李四 12789556
    103 王五 45876133

    缓解眼疲劳图片1
    缓解眼疲劳1

    二、DataTable

    根据sql语句获取数据复制一份到内存中,从内存中获取DataTable,然后我们可以对其进行修改,最终将DataTable里面的数据json序列化

    DataSet DS=bll.GetData();//后端获取数据
    DataTable dt=DS.Tables[0];//得到DataTable
    //接下来就是如何处理DataTable里面的数据
    
    ////Table操作
    DataTable newDt=dt.Clone();//克隆表的结构(不包含数据)
    DataTable copyDt=dt.Copy();//克隆表的结构和数据
    DataRow[] rows=dt.Select("条件");//选取符合条件的行
    
    ////列操作
    //新增一列
    dt.Columns.Add("sex", typeof(string));//列名-sex,类型是string型
    //dt.Columns.Add("sex", typeof(string)).SetOrdinal(1);//在指定的位置增加一列
    //给新增的一列赋值
    foreach(DataRow dr in dt.Rows)
    {
        dr["sex"]="男";
    }
    //删除某一列
    dt.Columns.Remove("name");删除name这一列
    
    ////行操作
    //新增一行
    DataRow newRow=dt.NewRow();
    newRow["id"]=104;
    newRow["name"]="萧炎";
    newRow["mob"]="12345678";
    dt.rows.add(newRow);
    
    //选取某些行
    DataRow[] rows=dt.Select("id>100");选取id>100的行
    
    //遍历操作
    foreach(DataRow row in rows)
    {
        string name=row["name"].ToString();
    }
    

    三、DataView

    我们知道DataTable是从sql数据库里复制出来的一份数据,可以对DataTable进行操作(但不修改数据库里面的数据),比如新增一列、新增一行、修改列名、修改数据或者通过Select()方法进行筛选操作等。DataTable里面的数据是已经排好序的,但是我们是不好对DataTable进行重新排序的,如果要排序的话,难道要通过sql语句再次读取数据库吗?
    那什么时候使用DataView呢?
    官方上讲:DataView主要用于排序、筛选、搜索、编辑和导航。重点:修改DataView的数据,对应的DataTable数据也会改变,反之,对应的DataView数据也会随之改变。
    其实呢,经实践证明:筛选、搜索等操作DataTable中的Select()方法也能做到,而且比DataView更快。毕竟DataView只是DataTable里面的数据虚拟出来的一个视图。

    DataSet DS=bll.GetData();//后端获取数据
    
    DataTable dt=DS.Tables[0];//得到DataTable
    
    DataView dv=dt.DefaultView;//得到DataTable对应的视图
    //DataView dv = new DataView(dt);//也可以这样写
    
    //筛选操作
    dv.RowFilter="id='100'";//sql where 后面的条件语句
    //这个RowFilter是DataView的属性,进行筛选操作,我们只需设置它的值即可,下面的Sort也是如此
    
    //排序操作
    dv.Sort="id desc";//sql order by 后面的排序语句
    

    缓解眼疲劳图片2
    缓解眼疲劳图片2

    四、总结

    在实际工作中,我们通过sql语句只从数据库里读取一次,然后将读取的数据进行操作。在这里,我想大家看完本篇博文应该知道,处理数据的时候,能使用DataTable进行筛选的就使用DataTable里面的方法(Select()方法等),如果不能达到效果,再考虑使用DataView进行处理。

  • 相关阅读:
    2020-03-23
    2020-03-22
    2020-03-21
    2020-03-20
    2020-03-19
    2020-03-18
    2020-03-17
    单元测试-java
    2020-03-16
    C语言拯救计划Day3-1之求一批整数中出现最多的个位数字
  • 原文地址:https://www.cnblogs.com/ywjbokeyuan/p/12577823.html
Copyright © 2020-2023  润新知