C# 中DataSet、DataAdapter的用法

本文介绍了SqlDataReader、DataSet和SqlDataAdapter的概念及其应用场景。SqlDataReader用于快速读取数据;DataSet作为内存数据库,存储数据以便操作;SqlDataAdapter则作为桥梁,实现DataSet与数据库间的同步。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

SqlDataReader是个数据读取器,向前不可后退、每次只读取一条。速度快,现代项目里面用它用得最多。
DataSet是个内存数据库,它与其它两个是根本不一样的。
SqlDataAdapter是个数据适配器,工作于DataSet和数据库之间,负责将数据从数据源读出来放在DataSet中,或将DataSet中的更改更新回数据库。

 

SqlDataAdapter是 DataSet和 SQL Server之间的桥接器,用于检索和保存数据。SqlDataAdapter通过对数据源使用适当的Transact-SQL语句映射 Fill(它可更改DataSet中的数据以匹配数据源中的数据)和 Update(它可更改数据源中的数据以匹配 DataSet中的数据)来提供这一桥接。当SqlDataAdapter填充 DataSet时,它为返回的数据创建必需的表和列(如果这些表和列尚不存在)。

DataSet

  作用:DataSet,DataAdapter读取数据。

  问:什么是DataAdapter?

  答:DataAdapter对象在DataSet与数据之间起桥梁作用

  string strConn="uid=账号;pwd=密码;database=数据库;server=服务器";//SQL Server链接字符串

  SqlConnection ConnSql=new SqlConnection (strConn); //Sql链接类的实例化

  ConnSql.Open ();//打开数据库//使用SqlDataAdapter时没有必要从Connection.open()打开,SqlDataAdapter会自动打开关闭它。

  string strSQL="SELECT * FROM 表名1 "; //要执行的SQL语句

  SqlDataAdapter da=new SqlDataAdapter(strSQL,ConnSql); //创建DataAdapter数据适配器实例

  DataSet ds=new DataSet();//创建DataSet实例

  da.Fill(ds,"自定义虚拟表名");//使用DataAdapter的Fill方法(填充),调用SELECT命令

  ConnSql.Close ();//关闭数据库

 

如果只需要执行SQL语句或SP,就没必要用到DataAdapter ,直接用SqlCommand的Execute系列方法就可以了。sqlDataadapter的作用是实现Dataset和DB之间的桥梁:比如将对DataSet的修改更新到数据库。

  SqlDataAdapter的UpdateCommand的执行机制是:当调用SqlDataAdapter.Update()时,检查DataSet中的所有行,然后对每一个修改过的Row执行SqlDataAdapter.UpdateCommand ,也就是说如果未修改DataSet中的数据,SqlDataAdapter.UpdateCommand不会执行。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值