2024年6月14日发(作者:)

第五课:

自身并不具备对数据库进行操作的功能,它对数据库的处理是通过.NET FrameWork SDK

中面向数据库编程的类库和微软的MDAC(数据访问组件)来实现的。数据访问技术是任何实际应用程序

的核心部分。

是一个功能强大的数据接口程序。通过所提供的对象,再配合SQL语句就可以

访问数据库内的数据,而且凡是ODBC或OLE DB接口访问的数据库(如Dbase、FoxPro、Excel、Access、

SQL Server、Oracle等),也可以通过来访问。

第一节:的简介

1.1.1、定义:

的名称起源于ADO(ActiveX Data Objects),这是一个广泛的类组,用于在以往的Microsoft

技术中访问数据。之所以使用名称,是因为Microsoft希望表明,这是在NET编程环境中优先

使用的数据访问接口。

1.1.2、:

在创建数据库后,需要通过将数据库连接到应用程序中。如图所示为

连接数据库与应用程序的过程模拟图。模型中包含了能够有效地管理数据的组件类。

的根命名空间是,的主要组件是数据连接、数据适配器和数据集,它们包含了对

数据库进行操作的大部

第二节:的构成

3.0 用于访问和操作数据的两个主要组件是 .NET Framework 数据提供程序

和 DataSet。

(1) .NET Framework 数据提供程序是专门为数据操作以及快速、只读访问数据而设计的组

件。 Connection 对象提供到数据源的连接。 使用 Command 对象可以访问用于返回数据、修改数据、运

行存储过程以及发送或检索参数信息的数据库命令。 DataReader 可从数据源提供高性能的数据流。 最后,

DataAdapter 在 DataSet 对象和数据源之间起到桥梁作用。 DataAdapter 使用 Command 对象在数据源中

执行 SQL 命令以向 DataSet 中加载数据,并将对 DataSet 中数据的更改协调回数据源。

(2) DataSet: DataSet 的设计已明确指出它可独立于任何资料来源外而存取资料。因此,它

可与多个不同的资料里来源搭配使用、与 XML 资料搭配使用,或用于管理应用程序的本机资料。DataSet

包含一或多个由资料列和资料行所组成的 DataTable 物件集合,以及 DataTable 物件中的主索引键、外

部索引键、条件约束 (Constraint) 及资料的相关资讯。

的类库:

1.2.1 Connection 类

和数据库交互,必须连接它。连接帮助指明数据库服务器、数据库名字、用户名、密码,和连接数据

库所需要的其它参数。

1.2.2 DataAdapter类

通过连接对象连接到数据源后,就可以通过连接来创建数据适配器处理数据。数据适配器负责维护与

数据源的连接。此对象在对象下达指令后,将取得的数据放入DataSet 对象中。因此它主要是在数据库与

DataSet对象之间传递数据。

默认情况下,应用程序与数据源之间并不保持活动连接,与数据源之间的连接是断开的,只有在需要

时,才通过数据适配器连接到数据源,这使得系统资源的开销大大减少,尤其适用于进行网络数据库程序

设计。

1.2.3 DataReader类

许多数据操作要求开发人员只是读取一串数据。DataReader对象允许开发人员获得从Command对

象的SELECT语句得到的结果。考虑性能的因素,从DataReader返回的数据都是快速的且只是“向前”的

数据流。这意味着开发人员只能按照一定的顺序从数据流中取出数据。这对于速度来说是有好处的,但是

如果开发人员需要操作数据,更好的办法是使用DataSet。

1.2.4 DataSet类

有了数据适配器后,就可以使用数据适配器生成相应的数据集(DataSet)对象,对数据的操作主要

由数据集完成。

数据集是 模型的核心构件,位于t命名空间中,由数据库及其关系构

成,它代表了一个数据“缓存”,即在程序中为数据所分配的内存空间,它模拟了关系数据库的结构。每

个DataSet都可以包含多个DataTable对象,每个DataTable都包含来自某个数据源的数据。

DataSet在程序设计中有一个很大的优点,它在程序运行中是“断开”的,也就是说,程序在处理DataSet

中的数据时,无需建立与数据库的持久连接,只有在填充数据和保存对数据的修改时才需要与数据源相连

接。在其他时间处理数据时,不需要保持与数据源的连接,极大地节省了系统开销。

1.2.5 DataTable类

DataTable 是一个数据网格控件。它可以被应用在 VB 和 ASP 上。它无须代码就可以简单的绑定数

据库。它具有微软风格的用户界面。

1.2.6 Command对象

成功与数据建立连接后,就可以用Command对象来执行查询、修改、插入、删除等命令; Command

对象常用的方法有ExecuteReader()方法、ExecuteScalar()方法和ExecuteNonQuery()方法;插

入数据可用ExecuteNonQuery()方法来执行插入命令。

第 三节 数据连接(connection类属性和方法)

创建一个到达某个数据源的开放连接。通过此连接可以对一个数据库进行访问和操作。

1.3.1属性:

图连接数据库与应用程序的过程模拟图

(1)ConnectionString属性: 可设置或返回用于建立到数据源的连接的信息.

语法:tionString="para1=value;para2=value;"

基本属性:Provider:提供数据库程序的类型;Data Source:数据源的位置

举例:tionString="Provider=.4.0; Data Source="

(2)state

State 属性可返回一个值,该值描述对象当前状态是打开、关闭、正在连接、正在执行还是正在检索数

据。 state值为0,意味着未连接数据库;1代表链接数据库成功。

if =1 then

msgbox("连接数据库成功")

set conn=nothing ‘释放内存

end if

属 性

ConnectionString

Provider

State

描 述

设定连接数据源的信息,包括 FlieName、Password、

Userld、DataSource、Provider 等参数。

设置连接的数据提供者(数据库管理程序)

读取当前链接对象的状态,取0表示关闭,1表示打开。

1.3.2 方法;

(1)open方法:可打开一个到数据源的连接。当连接打开时,您可以对数据源执行命令。

语法: connectionstring,userID,password,options

()

(2)close方法: 关闭 Connection 对象、Record 对象、Recordset 对象或者 Stream 对象,以释放系

统资源。

注释:关闭对象不会将其从内存中删除;随后可以更改其属性设置并再次将其打开。要从内存中彻底

清除对象,请在关闭对象后将对象变量设置为 Nothing

第四节 使用

Connection访问数据库(详细步骤,参见示例1)

第一部分:准备工作:

第一步:项目——添加windows窗体,“解决方案资源管理器”中多了一个窗体。

打开属性窗体

(1) topmost :false

(2)text: “数据库连接测试”

第二步:双击“数据库连接测试”进入代码输入窗体:

第三步:在form3添加一个按钮“连接测试”.双击“命令按钮”进入代码窗口。

1.4.1、访问数据的第一步就是要连接到数据库:

无论连接到哪一种关系数据库,都必须用Imports将相关的数据提供者的命名空间导入,否则会产生错

误,举例来说:(课本书中P109)

(1)要连接到SQL Server: Imports ent

(2)要连接到Access: Imports

1.4.2、因为要与access数据库连接,因此声明一个oledbconnection对象

Dim oledb1(变量名) As New onnection

1.4.3、创建数据连接

tionString = "Provider=.4.0;Data Source="

1.4.4 使用open打开数据库的连接

()

1.4.5 执行相关的数据库操作

在此省略„„,后面知识讲解完成后介绍使用

1.4.6 关闭数据库,释放内存空间

()

1.4.7 全部代码 (运行程序前,先要程序全部保存后,将Tu数据库,放在本程序文件夹binDebug)

Imports

„Imports将相关的数据提供者的命名空间导入,否则会产生错误

Public Class Form3

Dim oledb1 As New onnection

„打开数据库的连接

Private Sub Form3_Load(ByVal sender As , ByVal e As rgs) Handles

tionString = "Provider=.4.0;Data Source="

()

If Then „如果已经打开了

Msgbox(“数据库已经打开了”) „ 进行数据库的相关操作

() „关闭数据库

oledb1=nothing „释放内存

End If

End Sub

End Class