VB.NET数据库中DataAdapter类有什么用

这篇文章主要介绍VB.NET数据库中DataAdapter类有什么用,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

成都创新互联2013年开创至今,先为饶平等服务建站,饶平等地企业,进行企业商务咨询服务。为饶平企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。

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方法。

Dim objDataAdapter As New OleDbDataAdapter(objCommand)  Dim objDataSet As New DataSet  objDataAdapter.Fill(objDataSet, "Employees")  objDataAdapter.Dispose()  objDataAdapter = Nothing objCommand.Dispose()  objCommand = Nothing

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

Dim strSQL As String = _ "SELECT FIRST_NAME, LAST_NAME, FROM HR.EMPLOYEES"  Dim objDataAdapter As New OleDbDataAdapter(strSQL, objConnection)  Dim objDataSet As New DataSet  objDataAdapter.Fill(objDataSet, "Employees")  objDataAdapter.Dispose()  objDataAdapter = Nothing

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

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

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

Dim objDataRow As DataRow  For Each objDataRow In objDataSet.Table("Employees").Rows  Debug.WriteLine(objDataRow.Item("FIRST_NAME") & " " &_  objDataRow.Item("LAST_NAME")  Next  objDataSet.Dispose()  objDataSet = Nothing

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

以上是“VB.NET数据库中DataAdapter类有什么用”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注创新互联行业资讯频道!


当前题目:VB.NET数据库中DataAdapter类有什么用
标题链接:http://scyanting.com/article/ppicee.html