数据库开发及ADO.NET(38)——SqlDataAdapter&数据集-查询多行、DataSet

二、DataSet

1、SqlDataReader是连接相关的, SqlDataReader中的查询结果并不是放到程序中的,而是放在数据库服务器中,SqlDataReader只是相当于放了一个指针(游标),只能读取当前游标指向的行,一旦连接断开就不能再读取。这样做的好处就是无论查询结果有多少条,对程序占用的内存都几乎没有影响。

2、SqlDataReader对于小数据量的数据来说带来的只有麻烦,优点可以忽略不计。ADO.Net中提供了数据集的机制,将查询结果填充到本地内存中,这样连接断开、服务器断开都不影响数据的读取。

3、代码示例:

DataSet dataset = new DataSet(); 
SqlDataAdapter adapter = new SqlDataAdapter(cmd); 
adapter.Fill(dataset);//Fill()执行查询语句,将数据装入数据集

(1)Fill()执行查询语句,将数据装入数据集。

(2)SqlDataAdapter  da=new  SqlDataAdaper(sqlStr,conn);  //创建适配器对象,告诉它要做什么,走哪条路去。

(3)DataSet  ds=new  DataSet();  //创建数据集对象(程序端的临时数据库)。

(4)da.Fill(ds);  //调用fill方法,填充数据集。(先去数据库查询结果集,并把结果集返回赋值给数据集)

 

4、SqlDataAdapter是DataSet和数据库之间沟通的桥梁。数据集DataSet包含若干表DataTable,DataTable包含若干行DataRow

foreach (DataRow row in dataset.Tables[0].Rows) row["Name"]

5、适配器获取的数据集中可能会有多个数据表。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值