揭秘ADO.NET性能原理分析

开发 后端
文章主要对装载XML数据、结果集直接装载DataTable、通过 SqlDataAdapter 类实例将 DataTable 内的记录更新回数据源这三方面ADO.NET性能全面分析讲解。

ADO.NET越来越多的人使用,它也很快速的发展起来,在ADO.NET2.0中它的数据交互性能也有很大的提升,DataTable的功能被大大增强了。毕竟我们不是时时需要Dataset,这里我们就ADO.NET性能来深入的探讨一下吧。

#T#1.ADO.NET性能装载XML数据

在 ADO.NET 1.* 时,离线的数据访问模型以 DataSet 对象为主,因此若要将 XML 的数据装载到 DataTable,必须通过 DataSet 来实现。若我们仅操作一个数据表,不需要访问多个数据表,则还需经过 DataSet 类才能赋予 DataTable 数据或将数据输出成 XML

文件,其过程有点繁琐。ADO.NET 2.0 的 DataTable 类则新增了与 DataSet 相同的。ReadXML、ReadXMLSchema、WriteXML 以及WriteXMLSchema 等方法。因此我们可以直接操作 DataTable 实例,而不需先创建 DataSet 类的实例来赋予 DataTable 实例数据,然后只使用 DataTable 实例。

2.ADO.NET性能结果集直接装载DataTable

可以通过DataTableReader对象生成DataTable和DataSet。利用DataTable和DataSet在2.0版本中新引入的方法Load,可以传递DataTableReader或者任何实现IDataReader接口的类对象。下面的代码就是通过Load方法将dt1的数据传递到新的数据表dt2中:

  1. DataTableReader dtRdr = dt1.CreateDataReader();  
  2. DataTable dt2 = new DataTable(); dt2.Load(dtRdr); 

在使用Load方法装载多行数据时,可以先调用BeginLoadData方法来避免通知 (notifications),索引维护(index maintenance)以及约束检查(constraint checking),然后再通过EndLoadData方法返回数据。

3.通过 SqlDataAdapter 类实例将 DataTable 内的记录更新回数据源
 
现在我们还可以使用 SqlDataAdapter 类实例通过 DataGridView 更新的记录。

Update方法由以下几个重载:

  1. public int Update(DataRow[] dataRows);  
  2. public override int Update(DataSet dataSet);   
  3. public int Update(DataTable dataTable);  
  4. public int Update(DataSet dataSet, string srcTable);  
责任编辑:田树 来源: 博客
相关推荐

2009-11-03 16:37:10

2009-11-03 17:25:59

ADO.NET编程技巧

2009-11-04 10:23:05

ADO.NET Con

2009-11-03 17:12:33

ADO.NET Exe

2009-10-29 10:34:31

ADO.NET使用技巧

2009-11-13 17:20:35

ADO.NET数据集工

2009-11-04 16:31:40

ADO.NET Ora

2009-11-11 10:55:10

ADO.NET对象

2009-11-04 15:55:49

ADO.NET VC

2009-12-30 11:03:26

ADO.Net性能

2009-11-04 11:02:23

ADO.NET Dat

2011-05-20 15:45:52

数据集

2009-11-04 13:08:29

ADO.NET Dat

2009-12-28 15:11:36

ADO.NET专家

2009-11-12 11:17:13

2009-11-03 16:27:43

ADO.NET Ent

2009-12-30 15:06:22

ADO.NET分析

2009-11-03 15:47:10

ADO.NET数据异步

2009-12-22 16:16:18

ADO.NET Deb

2009-10-29 11:18:47

ADO.NET SQL
点赞
收藏

51CTO技术栈公众号