What is DataSet?

前两天研究7层的时候,SqlHelper类中有一个词DataSet总是出现在我面前,而且总是它让我看不懂把从数据库查的数据放到了哪里!所以今天我就查了查,原来啊,他并没有我想的那么难!

DataSet是DataTable的集合,即虚拟表的集合,DataSet是ADO.NET的中心概念。可以把DataSet当成内存中的数据库,DataSet是不依赖于数据库的独立数据集合。DataSet 是 ADO. NET结构的主要组件,它是从数据源中检索到的数据在内存中的缓存。DataSet 由一组 DataTable 对象组成。

用自己的话就是:DataSet是盛放从数据库中找到的数据的虚拟表(DataTable) 的集合表,每一个DataSet都是一个或多个DataTable 对象的集合(DataTable相当于数据库中的表)。下面我查到的关于它的使用方法,希望可以帮到大家。


使用方法:


1、创建DataSet对象

DataSet ds = new DataSet();

DataSet ds = new DataSet("DataSetName");

2、用数据集填充DataSet 

最常用的是DataAdapter对象的Fill()方法给他填充数据

(1)DataSet ds = new DataSet();

SqlDataAdapter adapt = new SqlDataAdapter(sqlcmd,con)

adapt.Fill(ds);

(2)DataSet ds=new DataSet();

DataTable dt=new DataTable("newTable");

ds.Tables.Add(dt);

(3)DataSet ds=new DataSet();

DataTable dt=ds.Tables.Add("newTable");

3、访问DataSet中的表、行和列 值

(1): 访问每个 DataTable 

按表名访问:ds.Tables["mytest"]//指定DataTable对象mytest(即访问DataSet中名为mytest的DataTable)

按索引(索引基于0的)访问:ds.Tables[0]//指定DataSet中的第一个DataTable


(2): 访问DataTable中的行 

ds.Tables["mytest"].Rows[n]//访问mytest表 的第n+1行(行的索引是从0开始的)

ds.Tables[i].Rows[n] //访问DataSet中的第i+1个DataTable 的第n+1列(列的索引是从0开始的)

(3): 访问DataTable中的某个元素 

ds.Tables["mytest"].Rows[n][m]//访问mytest表的第n+1行第m+1列的元素

ds.Tables[i].Rows[n][m]//访问DataSet中的第i+1个DataTable 表的第n+1行第m+1列的元素

ds.Tables["mytest"].Rows[n][name]//访问mytest表的第n+1行name列的元素

ds.Tables[i].Rows[n][name]//访问DataSet中的第i+1个DataTable 表的第n+1行name列的元素

(4): 取DataTable中的列名 

ds.Tables["mytest"].Columns[n]//取出mytest表的n+1列列名

ds.Tables[i].Columns[n]


小结:


其实每一个新的东西都值得我们去研究,因为现在的学习重在积累!知道的多了学得就会顺手!这个DataSet用起来固然十分的顺手,但是很多东西有利就有弊,所以期待大家和我更深一步的讨论!(当然重点是关于重构的O(∩_∩)O~)



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 15
    评论
评论 15
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值