DataTable与DataSet
==============================================================================
DataSet是DataTable的集合
DataSet可以比作一个内存中的数据库,DataTable是一个内存中的数据表,DataSet里可以存储多个DataTable
DataSet你可以把他看成是个数据库,可以包括表,视图等。
DataSet中选取DataTable
-----------------------------------------------------------------------------------------
Dataset[序号or表名]
DataSet与DataAdapter
==============================================================================
DataSet对象是创建在内存中的集合对象,它可以包含任意数量的数据表,以及所有表的约束、索引和关系,相当于在内存中的一个小型关系数据库。
DataAdapter对象是ADO.NET中DataSet对象和数据源之间联系的桥梁,主要是从数据源中检索数据、填充、DataSet对象中的表或者把用户对DataSet对象做出的更改写入到数据源中。
使用DataAdapter对象填充DataSet对象:
-------------------------------------------------------------------------------------------
DataSet ds=new DataSet();
SqlDataAdapter dap=new SqlDataAdapter(SQL语句,连接的DB);
连接的DB.Open();
dap.Fill(ds,"表");
GridView1.DataSource=ds;
GridView1.DataBind();
DataView与DataGirdView
====================================================================================
DataView是一种数据类型,而DataGridView是一种控件,DataGridView可以绑定DataView
例如:
DataSet ds=new DataSet();
记住给ds附表
gv1.DataSource=ds.Table["表名"];
DataView view=new DataView(ds.Tables[""表名]);
gv2.DataSource=view;
-------------------------------------------------------------------------------------------------------------------------
增加一个最近写程式遇到的一种情况:
将DataGridView或者绑定数据库的ListBox,只要是绑定了数据的控件,就会出现一个DataSource属性,该方法可以将反向的转换,将控件中出现的数据转换成DataTable
--------------------------------------------------------------------------------------------------------------------------
DataTable ta = ((DataView)控件名.DataSource).ToTable();
然后就可以对DataTalbe进行操作了,可以将不需要的或者和其他的DataTable进行重组,得到自己想要的DataTable,在ToExcel的时候经常用到。这个时候就需要和DataTable其他两兄弟一起来重组了。
DataColumn和DataRow,对其进行赋值,然后重组DataTable.
DataTable绑定DataSource
--------------------------------------------------------------------------------------------------------------------------
控件名.DataSource = DS.Tables[0].DefaultView;
=====================================================================================
如果是在Winform中:
将datagridview中的数据转成datatable,
方法是:DataTable dt=datagridview.datasource as DataTable