资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,VB,程序设计项目化教程,中国水利水电出版社,VB,程序设计项目化教程,中国水利水电出版社,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,*,Visual Basic,程序设计项目化教程,主编 管小清 郭贺彬,Visual Basic 程序设计项目化教程主编 管小,1,项目十四:,ADO,数据库访问技术的应用,项目功能描述,:,本项目主要是了解,ADO,的主要功能与特性,,ADO,对象模型简介及,ADO,的编程模型。掌握,ADODC,控件的主要属性、常用方法及常用事件。掌握数据绑定控件的主要属性、常用方法及常用事件。掌握在,Visual Basic,中使用,ADO,对象,进行非编程式访问数据库和编程式访问数据库,项目十四:ADO数据库访问技术的应用项目功能描述:,项目十四:,ADO,数据库访问技术的应用,项目主要知识点:,1,关于,ADO,2,ADODC,控件,3,数据绑定控件,4,在,Visual Basic,中使用,ADO,对象,项目实施步骤:,阅读基础知识,实例操作,完成思考与练习题,项目十四:ADO数据库访问技术的应用项目主要知识点:,14.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,表格、文本文件、图形文件、电子邮件等各种各样的数据通过统一的接口进行存取。,ADO,与,OLE DB,的关系如图,14-1,所示:,14.1 基础知识概述14.1.1关于ADO,14.1,基础知识概述,图,14-1 ADO,与,OLE DB,的关系,图,14-1 ADO,与,OLE DB,的关系,14.1 基础知识概述图 14-1 ADO与OLE DB,14.1,基础知识概述,2,ADO,对象模型,ADO,集中了,DAO,和,RDO,的优点,且不像,DAO,和,RDO,那样依赖于对象层次。,ADO,对象模型定义了一个可编程的分层对象集合,,ADO,模型主要由七个对象成员,Connection,(连接)、,Command,(命令)、,RecordSet,(记录集)、,Error,(错误)、,Parameter,(参数)、,Field,(字段)和,Property,(属性)以及四个集合对象,Errors,、,Parameters,、,Fields,、,Properties,所组成。每个,Connection,、,Command,、,Recordset,和,Field,对象都有,Properties,集合。,它们之间的关系如图,14-2,所示,:,网,图,14-2 ADO,对象模型关系,图,14-2 ADO,对象模型关系,14.1 基础知识概述2ADO对象模型图 14-2 A,14.1,基础知识概述,(,1,),Connection,对象,用于管理与数据库的连接,通过连接可从应用程序访问数据源,包括打开和关闭连接以及运行,SQL,命令等,它保存诸如指针类型、连接字符串、查询超时、连接超时和缺省数据库这样的连接信息。它包含了关于目标数据库数据提供程序的相关信息。,(,2,),Command,对象,包含关于某个命令,例如查询字符串、参数定义等的信息。,(,3,),Recordset,对象,用来存储数据操作返回的记录集。,Recordset,对象只代表一个记录集,这个记录集可以是一个数据库中的表,或者是,Command,对象的执行结果返回的记录集。在,ADO,对象模型中,是在行中检查和修改数据的最主要的方法,所有对数据的操作几乎都是在,Recordset,对象中完成的。,Recordset,对象用于指定行、移动行、添加、更改、删除记录。,14.1 基础知识概述(1) Connection 对象,14.1,基础知识概述,(,4,),Field,对象,Field,对象对应于数据库表的字段或,SQL,查询语句,Select,关键字之后跟随着的域,宽限包含记录集中数据的某单个列的信息。,(,5,),Error,对象,包含数据提供程序出错时的扩展信息。,(,6,),Parameter,对象,Parameter,对象用于管理基于参数化查询或存储过程的,Command,对象相关联的某个参数或自变量的信息,这类,Command,对象有一个包含其所有,Parameter,对象的,Parameters,集合。,(,7,),Property,对象,包含某个,ADO,对象的提供程序定义的特征。,掌握其中的,Command,、,Connection,、,Recordset,对象就可以实现基本的数据库操作。,14.1 基础知识概述(4)Field 对象,14.1.2 ADO,的编程模型,ADO,编程模型描述了使用,ADO,对象进行编程所必须的几个重要步骤:,1.,连接数据源,利用,Connection,对象的,Open,方法可以创建一个数据源的连接。,语法:,Connection,对象,.Open ConnectionString, UserID, PassWord, OpenOptions,其中:,Connection,对象为定义的,Connection,对象的实例;,ConnectionString,为可选项,包含了连接的数据库的信息;,UserID,可选项,包含建立连接的用户名;,PassWord,为可选项,包含建立连接的用户密码;,14.1.2 ADO的编程模型ADO编程模型描述了使用ADO,14.1.2 ADO,的编程模型,2.,打开记录集对象,(,1,)方法一:,语法:,Recordset.Open Source, ActiveConnection, CursorType, LockType, Options,其中:,Recordset,为所定义的记录集对象的实例。,Source,可选项,指明了所打开的记录源信息。,ActiveConnection,可选项,合法的已打开的,Connection,对象的变量名或者是包含,ConnectionString,参数的字符串。,CursorType,可选项,确定打开记录集对象使用的指针类型。,LockType,可选项, 确定打开记录集对象使用的锁定类型。,14.1.2 ADO的编程模型2.打开记录集对象,14.1.2 ADO,的编程模型,(,2,)方法二:,语法:,Set Recordset=Connection.Execute_,(CommandText,RecordsAffected,Options),其中,: CommandText,一个字符串,返回要执行的,SQL,命令、表名、存储过程或指定文本。,RecordsAffected,可选项,,Long,类型值,返回操作影响的记录数。,Options,可选项,,Long,类型值,指明如何处理,CommandText,参数。,打开,Recordset,对象之后,我们就可以使用它的,addnew,、,delete,、,update,、,movenext,、,find,等方法了。,14.1.2 ADO的编程模型(2)方法二:,14.1.2 ADO,的编程模型,3.,添加记录,添加新记录的,AddNew,方法,语法,:Recordset.AddNew Fields, Values,其中,:Recordset,为记录集对象实例,Fields,为一个字段名,或者是一个字段数组。,Values,为给要加信息的字段赋的值,如果,Fileds,为一个字段名,那么,Values,应为一个单个的数值。假如,Fileds,为一个字段数组,那么,Values,必须也为一个个数,类型与,Fields,相同的数组。,使用,AddNew,方法为记录集添加新的记录后,应使用,UpDate,将所添加的的数据存储在数据库中。,14.1.2 ADO的编程模型3.添加记录,14.1.2 ADO,的编程模型,4.,修改记录集,用,SQL,语句将要修改的字段的一个数据找出来重新赋值。,5.,删除记录的,Delete,方法,语法,:Recordset.Delete AffectRecords,其中,:AffectRecords,参数是确定,Delete,方法作用的方式的。,它的取值如下,: adAffectCurrent,只删除当前的记录。,adAffectGroup,删除符合,Filter,属性设置的那些记录。为了一次能删除一组数据,应设置,Filter,属性。,6.,查询记录,(,1,)方法一:,使用连接对象的,Execute,方法执行,SQL,命令,返回查询记录集。,(,2,)方法二:,使用,Command,对象的,Execute,方法执行,CommandText,属性中设置的,SQL,命令,返回查询记录集。,14.1.2 ADO的编程模型4.修改记录集,14.1.2 ADO,的编程模型,7.,断开连接,在应用程序结束之前,应该释放分配给,ADO,对象的资源,操作系统回收这些资源并可以再分配给其他应用程序,.,使用的方法为,:Close,方法。,语法:,ADO,对象,.Close,14.1.2 ADO的编程模型7.断开连接,14.2 ADODC,控件,14.2.1 ADODC,控件,在,VB,中,使用,ADO,访问数据库主要有两种方式,一种是使用,ADO,数据控件,通过对控件的绑定来访问数据库中的数据,即非编程访问方式;另一种是使用,ADO,对象模型,通过定义对象和编写代码来实现对数据的访问,即编程访问方式,以下我们先介绍使用,ADODC,控件对数据库进行访问。,1,ADODC,控件几个重要的与数据库有关的属性,如表,14-1,所示:,14.2 ADODC控件 14.2.1 ADODC控件,14.2 ADODC,控件,表,14-1 ADO,控件属性,CommandType,指示命令类型。取值为:,1 adCmdText SQL ,语句,2 adCmdTable ,表,4 adCmdStoredProc,存储过程,8 adCmdUnknown ,其他类型,ConnectionString,支持连接字符串的,OLEDB,提供程序,(,打开属性页,-,通用,),。,ConnectionTimeou,在中止前等待打开连接的时间量,(,单位秒,),。,CursorLocation,决定时使用服务器端游标还是客户端游标,(,使用哪个游标引擎,),。取值为:,2 adUseServer,3 adUseClient,CursorType,设置用于下一级,Recordset,的游标类型。取值为:,1 adOpenKeyset,2 adOpenDynamic,3 adOpenStatic,Password,密码,-,支持密码的,OLEDB,提供程序。,(,打开属性页,-,身份验证,),RecordSource,Recordset,源,(adCommandText=SQL,或者其它命令,语法,,,adCommandTable=,表名称。,) (,打开属性页,-,记录源,),UserName,用户名称,-,支持用户名称的,OLEDB,提供程序,14.2 ADODC控件 表 14-1 ADO控件属性,14.2 ADODC,控件,2,ADODC,控件常用的方法,(,1,),Refresh,方法。,该方法用于刷新与,ADODC,控件连接的记录集数据。,(,2,),UpDateRecord,方法,通过此方法可以将数据绑定控件上的当前内容写入到数据库。,(,3,),Close,方法,Close,方法主要用于关闭打开的对象及相关对象。,3,ADODC,控件的事件,ADODC,控件的事件分为两种类型即:,Will,事件和,Complete,事件。其中,Will,事件是在操作开始之前调用,这时可能检查或修改操作参数,并且可以决定是取消操作还是允许完成操作。而,Complete,事件是在操作完成之后调用。,14.2 ADODC控件 2ADODC控件常用的方法,14.2 ADODC,控件,(,1,),WillMove,事件,WillMove,事件在执行更改,Recordset,中的当前记录操作之前调用。而,MoveComplete,事件则是在执行更改,Recordset,中的当前记录操作之后被调用。执行,Recordset.Open,、,Recordset.MoveNext,、,Recordset.Move,、,Recordset.MoveLast,、,Recordset.MoveFirst,、,Recordset.MovePrevious,、,Recordset.Bookmark,、,Recordset.AddNew,、,Recordset.Delete,、,Recordset.Requery,等方法时触发。,14.2 ADODC控件 (1)WillMove事件,14.2 ADODC,控件,(,2,),WillChangField,事件和,FieldChangComplete,事件,WillChangeField,在,Recordset,对象中,Field,属性值更改之前调用。而,FieldChangeComplete,在,Recordset,对象中,Field,属性值更改之后调用。 执行,Recordset.Update,、,Recordset.Delete,、,Recordset.CancelUpdate,、,Recordset.UpdateBatch,、,Recordset.CancelBatch,等方法时触发。,(,3,),WillChangRecordSet,事件,WillChangRecordSet,发生在对,Recordset,对象进行操作之前,而,RecordSetChangComplete,发生对,Recordset,对象进行操作之后。,14.2 ADODC控件 (2)WillChangFiel,14.2.2,数据绑定控件,1,数据绑定简述,ADODC,控件只能连接数据库,产生记录集。但不能显示记录集中的数据,要显示记录集中的数据必须通过能与它绑定的控件来实现。,数据库,记录集,数据绑定,图,14-3,数据绑定与数据库和记录集关系,图,14-3,数据绑定与数据库和记录集关系,14.2.2 数据绑定控件1数据绑定简述数据库记录集数据绑,14.2.2,数据绑定控件,数据绑定控件,具有,DataSource,、,DataField,属性的控件均可作为绑定控件,(,2,)常用绑定控件,ComBox,Label,TextBox,等控件是较为常用的数据绑定控件。,14.2.2 数据绑定控件数据绑定控件,14.2.2,数据绑定控件,(,3,)专门与,ADO,控件绑定的,ActiveX,控件,DataList ,数据列表控件,我们在下一节将专门介绍,ADO,控件与,DataList,控件结合显示数据。,DataGrid ,数据网格控件,我们在下一节将专门介绍,ADO,控件与,DataGrid,控件结合显示数据。,DataCombo ,数据组合控件,(,4,)高级数据绑定控件,Mi crosoft Hierarchical FlexGfid ,分层式网格控件,Microsoft Chart ,图表控件,以上控件中数据网格控件和图表控件可以绑定到整个记录集,而其他控件只能绑定到记录集的某一个字段。,14.2.2 数据绑定控件(3)专门与ADO控件绑定的Act,14.2.2,数据绑定控件,2,数据绑定方法,(,1,)添加控件,首先添加,ADODC,控件及绑定控件添加到窗体上。,(,2,)设置,ADODC,控件属性,设置,ADODC,控件的,ConnectionString,,,RecordSource,,,Password,,,UserName,属性,连接数据库。,(,3,)设置绑定控件的,DataSource,属性,将绑定控件的,DataSource,属性设为,ADODC,控件的名称。,(,4,)设置绑定控件的,DateField,属性,将绑定控件的,DateField,属性设为要显示的字段名称。,完成上述步骤后,即可通过绑定控件将数据显示。,14.2.2 数据绑定控件2数据绑定方法,14.3,在,Visual Basic,中使用,ADO,对象,14.3.1,非编程访问方式,我们以,SQL Server 2000,数据库为例。使用,ADODC,控件,快速创建数据绑定控件和数据提供者之间的连接。其中数据绑定控件可以是任何具有,DataSource,属性的控件;数据提供者可以是任何符合,OLE DB,规范的数据源。,14.3在Visual Basic中使用ADO对象14.3.,14.3.1,非编程访问方式,ADODC,控件和,DataList,控件应用实例,(,1,)建立,login,数据库,首先启动,SQL Server 2000,企业管理器,建立一个,login,的数据库,在,login,数据库中建立“用户信息”数据表,如图,14-4,所示:,图,14-4 SQL Server 2000,企业管理器建立数据库和数据表,14.3.1非编程访问方式ADODC控件和DataList控,14.3.1,非编程访问方式,(,2,)添加,ADODC,控件,ADODC,控件是,ActiveX,控件,在使用前必须先将其添加到工具箱中。方法是:单击“工程”“部件”菜单选项,选中“,Microsoft ADO Data Control 6.0,(,OLE DB,)”后,按“确定”,此时,ADO,数据控件便出现在工具箱中,如图,14-5,所示:,图,14-5,添加,ADODC,控件,14.3.1非编程访问方式(2)添加ADODC控件图 14,14.3.1,非编程访问方式,(,3,)设置,ADODC,连接属性,将,ADODC,控件添加到窗体上,其默认的名称属性为“,Adodc1”,。右击,ADODC,控件,选“,ADODC,属性”,弹出“属性页”对话框,如图,14-6,所示:,图,14-6,设置,ADODC,控件,ConnectionString,属性,14.3.1非编程访问方式(3)设置ADODC连接属性图,点击 弹出属性页面,选择“通用”,选中“使用连接字符串”(也可以选择“,ODBC,数据源名称”),再单击“生成”按钮,弹出“数据链接属性”对话框。选择“提供程序”选项卡,在列表中选择“,Microsoft OLE DB Provider For SQL SERVER”,选项,如图,14-7,所示,再单击“下一步”按钮。,图,14-7,选择,OLE DB,提供程序,14.3.1,非编程访问方式,点击 弹出属性页面,选择“通用”,选中“使用连接字符,14.3.1,非编程访问方式,指定服务器的名称和登录信息并选择本连接要使用的数据库文件。单击“测试连接”按钮以确定连接是否正常。若得到测试成功的消息,单击“确定”按钮以继续,如图,14-8,所示。,服务器名称:机器名,实例名,图,14-8,设置数据连接属性,14.3.1非编程访问方式指定服务器的名称和登录信息并选择本,14.3.1,非编程访问方式,(,4,)设置,AD0DC,数据源属性,在“属性页”对话框中选择“记录源”选项卡,在命令类型下拉列表中选择“,2-adCmdTable”,选项,在表或存储过程名称下拉列表中选择数据表“用户信息”。(若选择的命令类型为“,1-adCmdText”,,则可在命令文本框中输入,SQL,查询语句,SELECT * from,用户信息),然后单击“确定”按钮,如图,14-9,所示:,图,14-9,设置记录源,14.3.1非编程访问方式(4)设置AD0DC数据源属性图,14.3.1,非编程访问方式,(,5,)在窗体上添加数据绑定控件,我们使用,DataList,数据绑定控件。,DataList,控件是,ActiveX,控件,在使用前必须先将其添加到工具箱中。方法是:单击“工程”“部件”菜单选项,选中“,Microsoft DataList Control 6.0,(,SP3,)”后,按“确定”,此时,DataList,控件便出现在工具箱中。,图,14-9,将添加,DataLIst,控件添加到工具箱,14.3.1非编程访问方式(5)在窗体上添加数据绑定控件图,14.3.1,非编程访问方式,(,6,)设置,DataList,属性,将,DataList,与,ADODC1,进行绑定,如图,14-10,所示:,图,14-10,设置,DataList,属性,14.3.1非编程访问方式(6)设置DataList属性图,14.3.1,非编程访问方式,(,7,)运行程序,将数据表信息通过绑定控件,DataList,显示,如图,14-11,所示:,图,14-11,在,DataList,控件中显示用户名,14.3.1非编程访问方式(7)运行程序图 14-11,14.3.1,非编程访问方式,2,ADODC,控件和,DataGrid,控件应用实例,(,1,)建立,login,数据库,首先启动,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-12,添加,DataGrid,控件,14.3.1非编程访问方式2ADODC控件和DataGri,14.3.1,非编程访问方式,设置,DataGrid,属性,DataGrid,控件,DataSource,属性如图,14-13,所示:,图,14-13,设置,DataGrid,的,DataSource,属性,14.3.1非编程访问方式设置DataGrid属性 图 1,14.3.1,非编程访问方式,进行数据绑定数据:,右键单击,DataGrid,控件,选择“检索字段”,进行数据绑定,也可以选择“属性,DataField”,进行绑定。,(,4,)运行程序,运行程序后,将数据表的信息通过数据绑定控件,DataGrid,显示出来,如图,14-14,所示:,图,14-14,在,DataGrid,控件中显示数据表,“,用户信息,”,14.3.1非编程访问方式进行数据绑定数据:图 14-1,14.3.1,非编程访问方式,通过,ADODC,控件与,DataList,控件及,ADODC,控件与,DataGrid,控件结合,可实现,SQL Server,数据库,login,中“用户信息”表中数据的浏览功能。,ADODC,控件还可以和,TextBox,控件、,DataCombo,控件结合,显示数据表数据。,14.3.1非编程访问方式通过ADODC控件与DataLis,14.3.1,编程访问方式,编程访问方式是使用,ADO,对象模型访问数据库。为了能够在程序中使用,ADO,对象编程,在连接数据库前,需要在,Visual Basic 6.0,菜单 “工程”“引用”中选择,Microsoft ActiveX Data Objects 2.8 Library,组件。运用,ADO,对象模型的主要元素:,Connection,(连接)中的,ConnectionString,属性进行连接,,ConnectionString,为可读写,string,类型,指定一个连接字符串,告诉,ADO,如何连接数据库。,14.3.1编程访问方式编程访问方式是使用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.Recordset ,创建,rs,对象,14.3.1编程访问方式1定义ADO对象用于设置打开连接和,14.3.1,编程访问方式,2,数据库连接,设置,Connection,对象实例,ConnectionString,属性连接到数据库。有两种方法:有源数据库连接和无源数据库连接,(,1,)有源数据库连接,有源数据库连接首要任务是要注册数据源名称(,DSN,),通过配置,ODBC,环境,进行数据源的注册,然后才能对数据源进行连接、访问和操作。以连接数据源,login,为实例进行操作:,14.3.1编程访问方式2数据库连接,14.3.1,编程访问方式,启动,ODBC,在,Windows XP,点击“开始”“控件面板”“性能和维护”管理工具,出现如下界面:,图,14-15 ODBC,界面,14.3.1编程访问方式启动ODBC图 14-15 O,14.3.1,编程访问方式,添加“用户,DSN”,双击“数据源(,ODBC,)”,出现如下界面,选择“用户,DSN”,,点击“添加”,如图,14-16,所示:,图,14-16,添加用,DSN,14.3.1编程访问方式添加“用户DSN”图 14-16,14.3.1,编程访问方式,选择数据源的驱动程序,数据源驱动程序选择“,SQL Server”,如图,14-17,所示:,图,14-17,选择数据源的驱动程序,14.3.1编程访问方式选择数据源的驱动程序图 14-1,14.3.1,编程访问方式,数据源命名,给数据源命名为,Login,,如图,14-18,所示:,服务器名称:机器名,实例名,图,14-18,给数据源命名,14.3.1编程访问方式数据源命名服务器名称:机器名实例,14.3.1,编程访问方式,注:服务器名根据实际情况填写:机器名,实例名,测试数据源,:,图,14-19,数据源测试,14.3.1编程访问方式注:服务器名根据实际情况填写:机器名,14.3.1,编程访问方式,(,2,)无源数据库连接,与有源数据库连接的区别在于不需要配置,ODBC,,不使用,DSN,。,提供连接所需要的特定信息包括,服务器名称:“机器名,实例名”,用户名:“,sa”,口令可为空,与数据库“,login”,建立的连接代码如下:,conn.ConnectionString=driver=,sql server,;,_,server=,机器名,实例名;,Uer Id=sa,;,pwd=,;,Database=login,打开连接对象,设置好连接属性后,就可以打开连接对象了。代码如下:,conn.Open,这样,,VB,和后台,SQL Server,数据库的连接就创建好了。,14.3.1编程访问方式(2)无源数据库连接,14.3.3,实例操作,1,有源数据库连接,(,1,)创建“标准,EXE”,工程,工程命名为,login,(,2,)引用 “,Microsoft ActiveX Data Object 2.0 Library”,(,3,)创建模块文件,选择“工程”“添加模块”,在模块中输入代码:,Public conn As New ADODB.Connection ,标记新连接对象,Public rs As ADODB.Recordset ,标记新记录集对象,14.3.3实例操作1有源数据库连接,14.3.3,实例操作,(,4,)创建登录窗体界面,选择“工程”“添加窗体”,在,VB,窗体中添加两个标签控件、两个文件框控件和一个命令按钮控件,窗体界面如图,14-20,:,图,14-20,登录窗体界面,14.3.3实例操作(4)创建登录窗体界面图 14-20,14.3.3,实例操作,有源数据库连接主要代码,Dim conn As New ADODB.Connection ,定义连接对象,Dim rs As ADODB.Recordset ,定义记录集对象,窗体加载代码,:,Private 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实例操作有源数据库连接主要代码,14.3.3,实例操作,其中有源数据库连接:,DSN,数据源是“,Login”,用户名是“,sa”,口令为空,与数据库“,login”,建立的连接代码:,conn.ConnectionString=DSN=Login,;,User ID=sa,;,PWD=,;,database=login,;,命令按钮代码:,Private Sub Command1_Click(),rs.Open select * from,用户信息,where,用户名,= & Text1.Text & _,and,密码,= & Text2.Text & , conn, adOpenstate, adLockOptimistic,_ adCmdText,14.3.3实例操作其中有源数据库连接:,14.3.3,实例操作,If rs.EOF = True Then,MsgBox ,请重新输入学号或密码,!,Text1.Text = ,Text2.Text = ,Text1.SetFocus,Else,MsgBox ,登录成功,End If,rs.Close,Unload Me,End Sub,14.3.3实例操作If rs.EOF = True The,14.3.3,实例操作,(,6,)程序运行,程序运行后,用户名与密码输入正确后,登录成功,如图,14-21,所示:,图,14-21,登录成功界面,14.3.3实例操作(6)程序运行图 14-21 登录成功,14.3.3,实例操作,2.,无源数据库连接,与有源数据库连接不同的是无,DSN,无源数据库连接代码:,conn.ConnectionString = “Provider=SQLOLEDB.1;Persist Security_ Info=False;Server=,机器名,实例名,;_,User ID=sa;Password=;DataBase=login “,(,1,)窗体加载主要代码为:,Private Sub Form_Load(),Set conn = New ADODB.Connection,Set rs = New ADODB.Recordset,conn.ConnectionString = Provider=SQLOLEDB.1;Persist Security_,Info=False; Server=,机器名,实例名,;User ID=sa;_,Password=;DataBase=login;,conn.ConnectionTimeout = 30,conn.Open,End Sub,(,2,)其它代码与有源数据库连接相同,14.3.3实例操作2.无源数据库连接,14.4,结束语,14.4.1 ADO,数据控件和,ADO,对象模型比较,1,连接数据库比较,ADO,数据控件和,ADO,对象模型都为我们提供了数据库访问的接口技术,使用,ADO,控件在建立连接、选择数据表时,不需要创建连接对象和记录集对象,,ADO,控件几乎封装了相应代码的所有功能,只需设置好与之相关的属性、方法和事件,操作简单。使用,ADO,对象模型,通过定义对象、编写代码来实现数据库的访问,能很好地控制各种操作,具备更多的灵活性和更强大的功能。,14.4结束语14.4.1 ADO数据控件和ADO对象模型,14.4,结束语,2.,应用领域比较,ADO,控件虽然操作简单,但灵活性较差,不利于对大型数据库访问,一个,ADO,控件只能在同一数据源上打开一个记录集,在一个应用中若涉及多个记录集,则需要建立多个,ADO,控件。而使用,ADO,对象模型,便于实现对象重用、封装等技术,也利于事件处理,提高数据操作效率,特别是对海量数据的处理。在开发应用程序时,应根据数据库应用程序的特点来选择具体的访问方式。,14.4结束语2.应用领域比较,14.5,思考题与练习题,14.5.1,思考题,1,如何实现,ADODC,控件与,DataCombo,控件结合,2,如何实现,ADODC,控件与,TextBox,控件结合,3,编程访问数据库中如何理解无源数据库连接,14.5思考题与练习题14.5.1 思考题,14.5.2,练习题,1,设计学生信息窗体。使用,TextBox,绑定控件,窗体上添加,4,个标签控件,,4,个文本框控件,一个,ADODC,控件,如图,14-22,所示:,图,14-22 ADODC,控件与,TextBox,绑定控件结合显示数据,14.5.2 练习题1设计学生信息窗体。使用TextBo,
展开阅读全文