datatable 与dataview的区别

datatable 与dataview的区别

一、DataTable 
   DataTable表示内存中数据的一个表,它完全是在内存中的一个独立存在,包含了这张表的全部信息。DataTable可以是从通过连接从数据库中读取出来形成的一个表,一旦将内容读到DataTable中,此DataTable就可以跟数据源断开而独立存在;也可以是完全由程序自己通过代码来建立的一个表。 
   
    二、DataView 
   
  DataView表示用于排序、筛选、搜索、编辑和导航的 DataTable 的可绑定数据的自定义视图。可以将DataView同数据库的视图类比,不过有点不同,数据库的视图可以跨表建立视图,DataView则只能对某一个DataTable建立视图。DataView一般通过DataTable.DefaultView 属性来建立,再通过通过RowFilter 属性和RowStateFilter 属性建立这个DataTable的一个子集。   
  DataView是建立在DataTable基础上的,DataView.Table 属性可以得到此DataView对应的那个DataTable。DataView的行叫DataRowView,可以从DataRowView直接通过DataRowView.Row 属性得到此DataRowView对应的DataRow。 
------------1.可绑定 2.实现IEnumerable 3.行可转成object---------------------------------------

DataTable dt = dt1;

if ((dt == null) || ((dt.Rows).Count < 1)) return;
        IEnumerable  dv = (IEnumerable)((IListSource)dt).GetList();//将datatable转成dataview
        foreach (Object o in dv)
        {
            PropertyDescriptorCollection propDesColl = TypeDescriptor.GetProperties(o);
            foreach (PropertyDescriptor pd in propDesColl)
            {
                Type type = pd.PropertyType;
            }
        }

datatable 与dataview的区别

时间: 2024-12-17 05:27:47

datatable 与dataview的区别的相关文章

dataTable 、dataView、Dataset 区别

dataTable .dataView.Dataset 区别的经典回答 1.DataView是DataTable的表示,DataTable表里的记录是没有顺序的,但显示可以有不同顺序(DataVIew), 但还是同一张表,所以一个DataTable可以有多个DataView,默认访问DataTable,其实是访问他的 DefaultView.DataSet则是DataTable的集合,也可以有不止一个DataTable 2.DataView   是一张DataTable的虚拟视图   ,主要用来

C#----List&lt;&gt;,DataTable,DataView的使用

首先申明一下,写此博文的目的是纪录一下,知识都是现成的,只是整理一下,为了让自己更容易看懂,比在其他地方更容易明白.因为它们太常用了,不忍心每次都去用那么长的时间查看MSDN,希望能在这里用理少的时间来理解并运用其用法.最终目标是减少从接触到能理解并使用的时间. List<T>类型的查找操作Find 1 Point pt; 2 List<Point> lstPs = new List<Point>(); 3 for (int i = 0; i < 10; i++)

DataTable.ImportRow()与DataTable.Rows.Add()的区别

今天在写一个程序是遇到DataTable中添加行添加不了的问题,代码如下: DataTable dt = dataGridView1.DataSource as DataTable; DataTable dtTemp = stfBLL.GetDataByBoxID(boxId); DataRow dr = dt.NewRow(); dr["BoxID"] = dtTemp.Rows[0]["PicID"].ToString(); dr["Item"

DataTable,DataView 排序和使用

我们都知道在Sql Server可以用order by来排序,所以很多朋友在DataTable中排序也想到了用order by关键字.但这样实现是比较困难的,下面,我们讲解一种比较简单的方法: 控制台代码 1 DataTable dt = new DataTable("Test"); 2 dt.Columns.Add("Num1", Type.GetType("System.Int32")); //添加列 3 dt.Columns.Add(&qu

在DataTable和DataView中查找指定记录

一.在DataTable中查找 1. 使用Select方法查找没有主键的表DataTable的Select方法返回一个DataRow数组,有四个重载的函数. DataRow[] drs = dt.Select("UserName LIKE '张%'"); 2. 使用Find方法查找有主键的表 分两种情况:(1) 主键只有一个字段 DataRow dr = dt.Rows.Find("主键字段的值");dt.PrimaryKey = new DataColumn[]

datatable和dataset的区别

DataSet 是离线的数据源 DataTable 是数据源中的表.当然也可以自己建一张虚表.插入数据库中 DataSet是DataTable的容器DataSet可以比作一个内存中的数据库,DataTable是一个内存中的数据表,DataSet里可以存储多个DataTabledatatable是dataset中的一个表另外datarow是datatable中的一行记录

DataTable和 DataRow的 区别与联系

DataRow 和 DataColumn 对象是 DataTable 的主要组件.使用 DataRow 对象及其属性和方法检索.评估.插入.删除和更新 DataTable 中的值.DataRowCollection 表示 DataTable 中的实际 DataRow 对象,DataColumnCollection 中包含用于描述DataTable 的架构的 DataColumn 对象.使用重载的 Item 属性返回或设置 DataColumn 的值. 使用 HasVersion 和 IsNull

DataView.RowFilter筛选DataTable中的数据

//定义一个DataView ,得到一个全部职员的视图DataView dataView1 = DbHelperSQL.QueryDataView(sql); //过滤得到一个只显示男职员的视图 dataView1.RowFilter = " sex='男' "; //放弃过滤,现在仍然能够得到一个全部职员的视图dataView1.RowFilter = null; //现在过滤得到一个只显示女职员的视图 dataView1.RowFilter = " sex='女' &qu

c#中用DataView查询

新人菜鸟 在开发一款软件,用到了 MyS中的 DataView 查询.查询后判断视图是否有返回值,找了好久,终于找到了他的 DataView XX.Count 参数. string table = String.Format("`Database` WHERE `XX` = '{0}';", XX); DataView dv = mysqlUtile.MysqlDataAdapter(table); if (dv.Count==0) { ... } } 原文网址:http://skyb