VB.NET数据库基础教程之全面解析DataAdapter类

开发 后端
VB.NET数据库基础教程深入细致为你讲解关于DataAdapter类的使用,其实DataAdapter类是数据库和程序之间的桥梁,它可以执行Command对象是一样的。

VB.NET数据库基础教程今天我们来简介一下关于DataAdapter类,可能大家对于它不是很熟悉,在这里呢和大家分享一下关于DataAdapter类的原理机制,让大家更好的运用。

VB.NET数据库基础教程之DataAdapter类

DataAdapter是数据提供程序的一个子组件。与Connection和Command类一样,DataAdapter类也存在于ODBC、OLE DB、SQL Server和Oracle中。本节介绍OLE DB 的DataAdapter类,注意,不同版本的DataAdapter类功能相同。
DataAdapter类是数据库和程序之间的桥梁,它可以执行Command对象,从数据库中检索数据,再填充到DataSet对象中,或使用DataSet对象插入、更新和删除数据库中的数据。
DataAdapter用于填充DataSet对象,所以本节开始详细探讨DataSet对象。后续的章节将进一步介绍DataSet对象,讨论这个类的更多知识和用法。
DataAdapter最常用于从数据库中检索数据,并填充DataSet对象,所以先看看用于这种目的的构造函数。

Command类的***个构造函数使用SQL字符串和Connection对象。下面的代码在DataAdapter的构造函数中使用前面例子中的Command对象。

下一行代码声明一个表示DataSet类的新对象,注意DataSet是独立于提供程序的,因为它不带ODBC、OLE DB、SQL或Oracle前缀。DataSet的构造函数提供了一个重载列表,但一般在初始化时不带参数。
初始化DataAdapter和DataSet对象后,就要从数据库中检索数据,并填充DataSet对象。使用DataAdapter的Fill方法来完成填充工作。Fill方法也提供了一个重载列表,但最常用的是下面代码中的Fill方法。该方法指定了表示DataSet的对象和一个表名,当要把多个表添加到DataSet对象中时,要使用该表名进行表映射。这个表名还可以用于引用DataSet对象中的表。注意不必在SQL语句的FROM子句中使用指定的表名,可以使用任何表名。

给DataSet对象填充数据后,DataAdapter的工作就完成了,应调用Dispose方法释放DataAdapter占用的资源,并把它设置为Nothing。Command的工作也完成了,***也删除它,并把它设置为Nothing,以释放资源。另外,如果不进行更多的数据库操作,应关闭数据库连接,对该连接调用Dispose方法。

  1. Dim objDataAdapter As New OleDbDataAdapter(objCommand)  
  2. Dim objDataSet As New DataSet  
  3. objDataAdapter.Fill(objDataSet, "Employees")  
  4. objDataAdapter.Dispose()  
  5. objDataAdapter = Nothing 
  6. objCommand.Dispose()  
  7. objCommand = Nothing 

DataAdapter 另一个常用的构造函数把SQL语句直接传送给DataAdapter,而不使用Command对象,如下面的代码所示。在这个构造函数中,传送了字符串变量和表示数据库连接的对象。在前面的例子中,是把Command对象传送给DataAdapter,使DataAdapter能提取其中的连接信息。而在这个构造函数中,为SQL语句使用了一个字符串,所以DataAdapter需要通过Connection对象了解如何与数据库通信,以执行SQL字符串。

  1. Dim strSQL As String = _ 
  2. "SELECT FIRST_NAME, LAST_NAME, FROM HR.EMPLOYEES"  
  3. Dim objDataAdapter As New OleDbDataAdapter(strSQL, objConnection)  
  4. Dim objDataSet As New DataSet  
  5. objDataAdapter.Fill(objDataSet, "Employees")  
  6. objDataAdapter.Dispose()  
  7. objDataAdapter = Nothing 

给DataSet对象填充数据后,就可以处理这些数据。DataSet对象包含一系列表,每个表都包含一系列行,每一行都包含一系列项,这些项表示行中的列。这听起来很容易混淆,但实际上非常简单,如下面的代码所示。

代码为DataRow声明一个对象,它用于访问Rows集合中的每一行,Rows集合放在Tables集合的表中。接着使用For Each循环迭代表中的行。使用DataRow对象的Item属性,可以访问行中的每一列,如下面的代码所示。这行代码把DataSet对象中每个雇员的姓名输出到IDE的输出窗口中。

***,使用完DataSet对象后,调用Dispose方法释放DataSet对象占用的资源,并把它设置为Nothing。这是非常重要的,因为DataSet对象表示一个内存数据高速缓存,即DataSet对象包含的所有数据都加载到内存中,因此应尽快释放该内存。

  1. Dim objDataRow As DataRow  
  2. For Each objDataRow In objDataSet.Table("Employees").Rows  
  3. Debug.WriteLine(objDataRow.Item("FIRST_NAME") & " " &_  
  4. objDataRow.Item("LAST_NAME")  
  5. Next  
  6. objDataSet.Dispose()  
  7. objDataSet = Nothing 

在修改完 DataSet对象中的数据后,可以使用DataAdapter的Update方法,把DataSet对象中的数据更新到数据库中。这个方法很少使用,因为一般使用视图或存储过程给DataSet填充多个表中的数据。在关系数据库中更新或插入数据时,通常使用存储过程执行插入或更新操作,再使用 Command对象执行这些存储过程。存储过程可以执行一个或多个SQL语句,并在这些语句上进行逻辑和有效性检查。

以上是VB.NET数据库基础教程对DataAdapter类的简介,以后还会对更多的类做详细的简介,请大家即时关注。

【编辑推荐】

  1. 介绍VB.NET绘图方法的三个方面
  2. 快捷简单的VB.NET编程事件方法介绍
  3. 简单简述VB.NET绘制图形
  4. 详谈VB.NET事件编程
  5. 三个案例揭秘VB.NET语法规则
责任编辑:田树 来源: 乐博网
相关推荐

2009-10-29 17:45:24

VB.NET线程

2009-11-02 14:48:45

VB.NET HOOK

2009-10-15 10:57:16

VB.NET Text

2009-10-09 15:20:26

VB.NET连接数据库

2010-01-12 16:20:44

VB.NET类

2009-10-28 17:24:19

VB.NET介绍

2009-10-26 09:11:52

VB.NET基础教程

2009-10-23 15:35:42

VB.NET实用教程

2009-10-28 10:04:53

VB.NET XmlW

2009-10-28 17:44:31

VB.NET语言

2009-10-28 17:08:57

VB.NET数据库开发

2009-10-28 17:00:30

VB.NET数据库

2009-10-13 17:31:50

VB.NET Acce

2010-01-08 10:37:50

VB.NET数据库

2009-10-28 10:15:48

VB.NET框架类库

2010-01-14 14:56:07

2010-01-12 10:40:58

VB.NET数据库压缩

2010-01-15 19:24:42

2009-10-28 16:47:26

VB.NET访问数据库

2009-10-29 15:16:02

VB.NET文件传送
点赞
收藏

51CTO技术栈公众号