Visual_Basic ADO数据库访问技术的应用.ppt_第1页
Visual_Basic ADO数据库访问技术的应用.ppt_第2页
Visual_Basic ADO数据库访问技术的应用.ppt_第3页
Visual_Basic ADO数据库访问技术的应用.ppt_第4页
Visual_Basic ADO数据库访问技术的应用.ppt_第5页
已阅读5页,还剩52页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Visual Basic 程序设计项目化教程,主编 管小清 郭贺彬,项目十四:ADO数据库访问技术的应用,项目功能描述: 本项目主要是了解ADO的主要功能与特性,ADO对象模型简介及ADO的编程模型。掌握ADODC控件的主要属性、常用方法及常用事件。掌握数据绑定控件的主要属性、常用方法及常用事件。掌握在Visual Basic中使用ADO对象,进行非编程式访问数据库和编程式访问数据库,项目十四:ADO数据库访问技术的应用,项目主要知识点: 1关于ADO 2ADODC控件 3数据绑定控件 4在Visual Basic中使用ADO对象 项目实施步骤: 阅读基础知识 实例操作 完成思考与练习题,14

2、.1 基础知识概述,14.1.1关于ADO 1.ADO主要功能与特性 ADO(ActiveX Data Object, Active 数据对象)是基于OLE DB技术而设计的。是Microsoft提供的一种面向对象,与语言无关的基于应用程序层的数据访问接口。它是DAO/RDO的后继产物。它主要特性:易于使用、可以访问多种数据源、访问速度快且效率高、易于Web应用、技术编程接口丰富、低内存支出和占用磁盘空间较少。ADO访问数据是通过OLE DB来实现的,OLE DB不仅能够以SQL Server、Oracle、Access等数据库文件为访问对象,还可对Excel表格、文本文件、图形文件、电子邮件

3、等各种各样的数据通过统一的接口进行存取。ADO与OLE DB的关系如图14-1所示:,14.1 基础知识概述,图 14-1 ADO与OLE DB的关系,图 14-1 ADO与OLE DB的关系,14.1 基础知识概述,2ADO对象模型 ADO集中了DAO和RDO的优点,且不像DAO和RDO那样依赖于对象层次。ADO对象模型定义了一个可编程的分层对象集合,ADO模型主要由七个对象成员Connection(连接)、Command(命令)、RecordSet(记录集)、Error(错误)、Parameter(参数)、Field(字段)和Property(属性)以及四个集合对象Errors、Param

4、eters、Fields、Properties所组成。每个 Connection、Command、Recordset和Field对象都有Properties集合。 它们之间的关系如图14-2所示: 网,图 14-2 ADO对象模型关系,图 14-2 ADO对象模型关系,14.1 基础知识概述,(1) Connection 对象 用于管理与数据库的连接, 通过连接可从应用程序访问数据源,包括打开和关闭连接以及运行SQL命令等,它保存诸如指针类型、连接字符串、查询超时、连接超时和缺省数据库这样的连接信息。它包含了关于目标数据库数据提供程序的相关信息。 (2)Command 对象 包含关于某个命令,

5、例如查询字符串、参数定义等的信息。 (3)Recordset对象 用来存储数据操作返回的记录集。Recordset对象只代表一个记录集,这个记录集可以是一个数据库中的表,或者是Command对象的执行结果返回的记录集。在ADO对象模型中,是在行中检查和修改数据的最主要的方法,所有对数据的操作几乎都是在Recordset对象中完成的。Recordset对象用于指定行、移动行、添加、更改、删除记录。,14.1 基础知识概述,(4)Field 对象 Field 对象对应于数据库表的字段或SQL查询语句Select关键字之后跟随着的域,宽限包含记录集中数据的某单个列的信息。 (5) Error对象 包

6、含数据提供程序出错时的扩展信息。 (6) Parameter 对象 Parameter 对象用于管理基于参数化查询或存储过程的Command对象相关联的某个参数或自变量的信息,这类Command对象有一个包含其所有Parameter 对象的 Parameters 集合。 (7) Property对象 包含某个 ADO 对象的提供程序定义的特征。 掌握其中的Command、Connection、Recordset对象就可以实现基本的数据库操作。,14.1.2 ADO的编程模型,ADO编程模型描述了使用ADO对象进行编程所必须的几个重要步骤: 1.连接数据源 利用Connection对象的Open

7、方法可以创建一个数据源的连接。 语法:Connection对象.Open ConnectionString, UserID, PassWord, OpenOptions 其中:Connection对象为定义的Connection对象的实例; ConnectionString为可选项,包含了连接的数据库的信息; UserID 可选项,包含建立连接的用户名; PassWord为可选项,包含建立连接的用户密码;,14.1.2 ADO的编程模型,2.打开记录集对象 (1)方法一: 语法:Recordset.Open Source, ActiveConnection, CursorType, LockT

8、ype, Options 其中:Recordset为所定义的记录集对象的实例。 Source可选项,指明了所打开的记录源信息。 ActiveConnection可选项,合法的已打开的Connection对象的变量名或者是包含ConnectionString参数的字符串。 CursorType可选项,确定打开记录集对象使用的指针类型。 LockType可选项, 确定打开记录集对象使用的锁定类型。,14.1.2 ADO的编程模型,(2)方法二: 语法:Set Recordset=Connection.Execute_ (CommandText,RecordsAffected,Options) 其中

9、: CommandText 一个字符串,返回要执行的SQL命令、表名、存储过程或指定文本。 RecordsAffected 可选项,Long类型值,返回操作影响的记录数。 Options 可选项,Long类型值,指明如何处理CommandText参数。 打开Recordset对象之后,我们就可以使用它的addnew、delete、update、movenext、find等方法了。,14.1.2 ADO的编程模型,3.添加记录 添加新记录的AddNew方法 语法:Recordset.AddNew Fields, Values 其中:Recordset为记录集对象实例 Fields为一个字段名,或

10、者是一个字段数组。 Values为给要加信息的字段赋的值,如果Fileds为一个字段名,那么Values应为一个单个的数值。假如Fileds为一个字段数组,那么Values必须也为一个个数,类型与Fields相同的数组。 使用AddNew方法为记录集添加新的记录后,应使用UpDate将所添加的的数据存储在数据库中。,14.1.2 ADO的编程模型,4.修改记录集 用SQL语句将要修改的字段的一个数据找出来重新赋值。 5.删除记录的Delete方法 语法:Recordset.Delete AffectRecords 其中:AffectRecords参数是确定Delete方法作用的方式的。 它的取

11、值如下: adAffectCurrent 只删除当前的记录。 adAffectGroup 删除符合Filter属性设置的那些记录。为了一次能删除一组数据,应设置Filter属性。 6.查询记录 (1)方法一: 使用连接对象的Execute方法执行SQL命令,返回查询记录集。 (2)方法二: 使用Command对象的Execute方法执行CommandText属性中设置的SQL命令,返回查询记录集。,14.1.2 ADO的编程模型,7.断开连接 在应用程序结束之前,应该释放分配给ADO对象的资源,操作系统回收这些资源并可以再分配给其他应用程序. 使用的方法为:Close方法。 语法: ADO对象

12、.Close,14.2 ADODC控件,14.2.1 ADODC控件 在VB中,使用ADO访问数据库主要有两种方式,一种是使用ADO数据控件,通过对控件的绑定来访问数据库中的数据,即非编程访问方式;另一种是使用ADO对象模型,通过定义对象和编写代码来实现对数据的访问,即编程访问方式,以下我们先介绍使用ADODC控件对数据库进行访问。 1ADODC控件几个重要的与数据库有关的属性,如表14-1所示:,14.2 ADODC控件,表 14-1 ADO控件属性,14.2 ADODC控件,2ADODC控件常用的方法 (1)Refresh方法。 该方法用于刷新与ADODC控件连接的记录集数据。 (2)Up

13、DateRecord方法 通过此方法可以将数据绑定控件上的当前内容写入到数据库。 (3)Close方法 Close方法主要用于关闭打开的对象及相关对象。 3ADODC控件的事件 ADODC控件的事件分为两种类型即:Will事件和Complete事件。其中Will事件是在操作开始之前调用,这时可能检查或修改操作参数,并且可以决定是取消操作还是允许完成操作。而Complete事件是在操作完成之后调用。,14.2 ADODC控件,(1)WillMove事件 WillMove事件在执行更改Recordset中的当前记录操作之前调用。而MoveComplete事件则是在执行更改Recordset中的当前

14、记录操作之后被调用。执行Recordset.Open、Recordset.MoveNext、Recordset.Move、Recordset.MoveLast、Recordset.MoveFirst、Recordset.MovePrevious、Recordset.Bookmark、Recordset.AddNew、Recordset.Delete、Recordset.Requery等方法时触发。,14.2 ADODC控件,(2)WillChangField事件和FieldChangComplete事件 WillChangeField 在Recordset对象中Field属性值更改之前调用。而

15、FieldChangeComplete 在Recordset对象中Field属性值更改之后调用。 执行Recordset.Update、Recordset.Delete、Recordset.CancelUpdate、Recordset.UpdateBatch、Recordset.CancelBatch 等方法时触发。 (3)WillChangRecordSet事件 WillChangRecordSet发生在对Recordset对象进行操作之前,而 RecordSetChangComplete发生对Recordset对象进行操作之后。,14.2.2 数据绑定控件,1数据绑定简述 ADODC控件只

16、能连接数据库,产生记录集。但不能显示记录集中的数据,要显示记录集中的数据必须通过能与它绑定的控件来实现。,图 14-3 数据绑定与数据库和记录集关系,14.2.2 数据绑定控件,数据绑定控件 具有DataSource、DataField属性的控件均可作为绑定控件 (2)常用绑定控件 ComBox,Label,TextBox等控件是较为常用的数据绑定控件。,14.2.2 数据绑定控件,(3)专门与ADO控件绑定的ActiveX控件 DataList 数据列表控件 我们在下一节将专门介绍ADO控件与DataList控件结合显示数据。 DataGrid 数据网格控件 我们在下一节将专门介绍ADO控件

17、与DataGrid控件结合显示数据。 DataCombo 数据组合控件 (4)高级数据绑定控件 Mi crosoft Hierarchical FlexGfid 分层式网格控件 Microsoft Chart 图表控件 以上控件中数据网格控件和图表控件可以绑定到整个记录集,而其他控件只能绑定到记录集的某一个字段。,14.2.2 数据绑定控件,2数据绑定方法 (1)添加控件 首先添加ADODC控件及绑定控件添加到窗体上。 (2)设置ADODC控件属性 设置ADODC控件的ConnectionString,RecordSource,Password,UserName属性,连接数据库。 (3)设置绑

18、定控件的DataSource属性 将绑定控件的DataSource属性设为ADODC控件的名称。 (4)设置绑定控件的DateField属性 将绑定控件的DateField属性设为要显示的字段名称。 完成上述步骤后,即可通过绑定控件将数据显示。,14.3在Visual Basic中使用ADO对象,14.3.1非编程访问方式 我们以SQL Server 2000数据库为例。使用ADODC控件,快速创建数据绑定控件和数据提供者之间的连接。其中数据绑定控件可以是任何具有DataSource属性的控件;数据提供者可以是任何符合OLE DB规范的数据源。,14.3.1非编程访问方式,ADODC控件和Da

19、taList控件应用实例 (1)建立login数据库 首先启动SQL Server 2000企业管理器,建立一个login的数据库,在 login数据库中建立“用户信息”数据表,如图14-4所示:,14.3.1非编程访问方式,(2)添加ADODC控件 ADODC 控件是ActiveX控件,在使用前必须先将其添加到工具箱中。方法是:单击“工程”“部件”菜单选项,选中“Microsoft ADO Data Control 6.0(OLE DB)”后,按“确定”,此时ADO数据控件便出现在工具箱中,如图14-5所示:,14.3.1非编程访问方式,(3)设置ADODC连接属性 将ADODC控件添加到窗

20、体上,其默认的名称属性为“Adodc1”。右击ADODC 控件,选“ADODC属性”,弹出“属性页”对话框,如图14-6所示:,点击 弹出属性页面,选择“通用”,选中“使用连接字符串”(也可以选择“ODBC数据源名称”),再单击“生成”按钮,弹出“数据链接属性”对话框。选择“提供程序”选项卡,在列表中选择“Microsoft OLE DB Provider For SQL SERVER”选项,如图14-7所示,再单击“下一步”按钮。,14.3.1非编程访问方式,14.3.1非编程访问方式,指定服务器的名称和登录信息并选择本连接要使用的数据库文件。单击“测试连接”按钮以确定连接是否正常。若得到测

21、试成功的消息,单击“确定”按钮以继续,如图14-8所示。,14.3.1非编程访问方式,(4)设置AD0DC数据源属性 在“属性页”对话框中选择“记录源”选项卡,在命令类型下拉列表中选择“2-adCmdTable”选项,在表或存储过程名称下拉列表中选择数据表“用户信息”。(若选择的命令类型为“1-adCmdText”,则可在命令文本框中输入SQL查询语句,SELECT * from 用户信息),然后单击“确定”按钮,如图14-9所示:,图 14-9 设置记录源,14.3.1非编程访问方式,(5)在窗体上添加数据绑定控件 我们使用DataList数据绑定控件。DataList 控件是ActiveX

22、控件,在使用前必须先将其添加到工具箱中。方法是:单击“工程”“部件”菜单选项,选中“Microsoft DataList Control 6.0(SP3)”后,按“确定”,此时DataList控件便出现在工具箱中。,14.3.1非编程访问方式,(6)设置DataList属性 将DataList与ADODC1进行绑定,如图14-10所示:,14.3.1非编程访问方式,(7)运行程序 将数据表信息通过绑定控件DataList显示,如图14-11所示:,图 14-11 在DataList控件中显示用户名,14.3.1非编程访问方式,2ADODC控件和DataGrid控件应用实例 (1)建立login

23、数据库 首先启动SQL Server 2000企业管理器,建立一个login的数据库,在login数据库中建立“用户信息”数据表。 (2)添加ADODC控件并设置属性 方法同ADODC控件和DataList控件应用实例,不再详细介绍。 (3)添加DataGrid控件 在窗体上添加ADO专用绑定控件DataGrid控件。DataGrid控件是ActiveX控件,在使用前必须先将其添加到工具箱中。方法是:单击“工程”“部件”菜单选项,选中“Microsoft DataGrid Control 6.0(SP6)”后,按“确定”,此时DataList控件便出现在工具箱中,如图14-12所示:,图 14

24、-12 添加DataGrid控件,14.3.1非编程访问方式,设置DataGrid属性 DataGrid控件DataSource属性如图14-13所示:,图 14-13 设置DataGrid的DataSource属性,14.3.1非编程访问方式,进行数据绑定数据: 右键单击DataGrid控件,选择“检索字段”,进行数据绑定,也可以选择“属性DataField”进行绑定。 (4)运行程序 运行程序后,将数据表的信息通过数据绑定控件DataGrid显示出来,如图14-14所示:,图 14-14 在DataGrid控件中显示数据表“用户信息”,14.3.1非编程访问方式,通过ADODC控件与Dat

25、aList控件及ADODC控件与DataGrid控件结合,可实现SQL Server数据库login中“用户信息”表中数据的浏览功能。ADODC控件还可以和TextBox控件、DataCombo控件结合,显示数据表数据。,14.3.1编程访问方式,编程访问方式是使用ADO 对象模型访问数据库。为了能够在程序中使用ADO对象编程,在连接数据库前,需要在Visual Basic 6.0菜单 “工程”“引用”中选择Microsoft ActiveX Data Objects 2.8 Library组件。运用ADO对象模型的主要元素:Connection(连接)中的ConnectionString属性

26、进行连接,ConnectionString为可读写string类型,指定一个连接字符串,告诉ADO如何连接数据库。,14.3.1编程访问方式,1定义ADO对象用于设置打开连接和产生记录集 (1)声明语句如下: Dim conn As New ADODB.Connection 定义连接对象 Dim rs As New ADODB.Recordset 定义记录集对象 (2)创建对象实例 定义ADO对象实例,声明了对象以后,还需要创建对象实例,否则不能使用。以下是两条重要语句: Set conn =New ADODB.Connection 创建conn对象 Set rs =New ADODB.Rec

27、ordset 创建rs对象,14.3.1编程访问方式,2数据库连接 设置Connection对象实例ConnectionString属性连接到数据库。有两种方法:有源数据库连接和无源数据库连接 (1)有源数据库连接 有源数据库连接首要任务是要注册数据源名称(DSN),通过配置ODBC环境,进行数据源的注册,然后才能对数据源进行连接、访问和操作。以连接数据源login为实例进行操作:,14.3.1编程访问方式,启动ODBC 在Windows XP点击“开始”“控件面板”“性能和维护”管理工具,出现如下界面:,图 14-15 ODBC界面,14.3.1编程访问方式,添加“用户DSN” 双击“数据源

28、(ODBC)”,出现如下界面,选择“用户DSN”,点击“添加”,如图14-16所示:,14.3.1编程访问方式,选择数据源的驱动程序 数据源驱动程序选择“SQL Server”,如图14-17所示:,14.3.1编程访问方式,数据源命名 给数据源命名为Login,如图14-18所示:,14.3.1编程访问方式,注:服务器名根据实际情况填写:机器名实例名 测试数据源:,图 14-19 数据源测试,14.3.1编程访问方式,(2)无源数据库连接 与有源数据库连接的区别在于不需要配置ODBC,不使用DSN。 提供连接所需要的特定信息包括 服务器名称:“机器名实例名” 用户名:“sa” 口令可为空 与

29、数据库“login”建立的连接代码如下: conn.ConnectionString=driver=sql server;_ server=机器名实例名;Uer Id=sa;pwd=;Database=login 打开连接对象 设置好连接属性后,就可以打开连接对象了。代码如下: conn.Open 这样,VB和后台SQL Server数据库的连接就创建好了。,14.3.3实例操作,1有源数据库连接 (1)创建“标准EXE”工程,工程命名为login (2)引用 “Microsoft ActiveX Data Object 2.0 Library” (3)创建模块文件 选择“工程”“添加模块”,

30、在模块中输入代码: Public conn As New ADODB.Connection 标记新连接对象 Public rs As ADODB.Recordset 标记新记录集对象,14.3.3实例操作,(4)创建登录窗体界面 选择“工程”“添加窗体”,在VB窗体中添加两个标签控件、两个文件框控件和一个命令按钮控件,窗体界面如图14-20:,图 14-20 登录窗体界面,14.3.3实例操作,有源数据库连接主要代码 Dim conn As New ADODB.Connection 定义连接对象 Dim rs As ADODB.Recordset 定义记录集对象 窗体加载代码: Private

31、 Sub Form_Load() Set conn = New ADODB.Connection 设置conn实例对象 Set rs = New ADODB.Recordset 设置rs实例对象 conn.ConnectionString = DSN=login;User_ ID=sa;Password=;database=login; conn.ConnectionTimeout = 30 conn.Open End Sub,14.3.3实例操作,其中有源数据库连接: DSN数据源是“Login” 用户名是“sa” 口令为空 与数据库“login”建立的连接代码: conn.ConnectionString=DSN=Login;User ID=sa;PWD=;database=login; 命令按钮代码: Private Su

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论