[精选]数据库访问技术论述.pptx

上传人:茅**** 文档编号:87842535 上传时间:2023-04-18 格式:PPTX 页数:56 大小:182.30KB
返回 下载 相关 举报
[精选]数据库访问技术论述.pptx_第1页
第1页 / 共56页
[精选]数据库访问技术论述.pptx_第2页
第2页 / 共56页
点击查看更多>>
资源描述

《[精选]数据库访问技术论述.pptx》由会员分享,可在线阅读,更多相关《[精选]数据库访问技术论述.pptx(56页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、使用使用VB访问访问SQLSever数据库数据库生长生长体积体积重量重量颜色颜色属性属性名词名词1.体积变大体积变大2.重量变重重量变重3.颜色变红颜色变红将具有相同数据特征和行为特将具有相同数据特征和行为特征的所有的对象称为一个对象类征的所有的对象称为一个对象类苹果类苹果类1.警铃响了警铃响了摘摘方法主方法主动动词动动词事件被事件被动动词动动词某一个苹果某一个苹果对象对象类是型的概念,对象是值得概念类是型的概念,对象是值得概念树叶树叶树根树根树干树干某一个苹果树某一个苹果树苹果苹果某一个对象的属性可以是数值型、字某一个对象的属性可以是数值型、字符型、也可以是另一个对象符型、也可以是另一个对象

2、在下面的界面中有几个对象?在下面的界面中有几个对象?数据库访问技术数据库访问技术1.JET与与DAO2.ODBC与与RDO3.OLEDB与与ADOJET与与DAOJETJointEngineTechnology数据连接引擎技数据连接引擎技术:术:1991年末或年末或92年初,年初,MS发布了发布了ACCESS作为其作为其Windows桌面数据库,桌面数据库,ACCESS使用了使用了JET数据库引擎。数据库引擎。MicrosoftJet数据库引擎数据库引擎MicrosoftJetDatabaseEngine一个数据库管理系统,它在用户及系统数据库中检索和存储数据。一个数据库管理系统,它在用户及系

3、统数据库中检索和存储数据。MicrosoftJet数据库引擎可以被视为数据管理器组件,通过它可构数据库引擎可以被视为数据管理器组件,通过它可构建其他数据访问系统例如,建其他数据访问系统例如,MicrosoftAccess和和MicrosoftVisualBasic。MicrosoftJet数据库数据库使用使用MicrosoftJet数据库引擎创立的数据库。数据库引擎创立的数据库。MicrosoftJet数据数据库的文件扩展名是库的文件扩展名是.mdb。JET仅为仅为ACCESS数据库效劳。数据库效劳。JET与与DAODAODataAccessObject数据访问对象数据访问对象在开发在开发JE

4、T引擎时,在其上增加了一个对象层,引擎时,在其上增加了一个对象层,叫做数据访问对象叫做数据访问对象DAO。DAO可以翻开可以翻开DataBase的连接、访问或创立表,的连接、访问或创立表,对表执行对表执行SQL语句语句ACCESS数据库数据库*.mdb通过通过JET应用程序应用程序使用使用DAO访问数据库访问数据库数据访问对象数据访问对象DataAccessObjects:是一种面向对象的界面接口。是一种面向对象的界面接口。通过通过DAO/Jet功能可以访问功能可以访问ISAM顺序索引查顺序索引查找方法数据库。找方法数据库。使用使用DAO的程序编码非常简单,的程序编码非常简单,DAO提供丰富提

5、供丰富的游标的游标Cursor类型的结果集和非游标类型的结果集和非游标CursorLess类型的结果集,同类型的结果集,同DDL数据数据描述语言的功能很类似。描述语言的功能很类似。DAO模型是设计关系数据库系统结构的对象类的模型是设计关系数据库系统结构的对象类的集合。集合。它们提供了完成管理这样一个系统所需的全部操作的它们提供了完成管理这样一个系统所需的全部操作的属性和方法,包括创立数据库,定义表、字段和索引,属性和方法,包括创立数据库,定义表、字段和索引,建立表间的关系,定位和查询数据库等工具。建立表间的关系,定位和查询数据库等工具。ODBC与与RDOODBCOpenDatabaseConn

6、ectivity开开放数据库互连放数据库互连MS意识到许多人都拥有后端的数据库,如意识到许多人都拥有后端的数据库,如Oracle、DB2等,因此发布等,因此发布JET的同时也推出了的同时也推出了一个数据访问层。一个数据访问层。ODBC:是是MS建议并开发的数据库建议并开发的数据库API标准,为异种数据库提标准,为异种数据库提供了统一的访问接口,屏蔽了不同供了统一的访问接口,屏蔽了不同DBMS的差异,使的差异,使数据库应用系统不仅仅局限于某个数据库应用系统不仅仅局限于某个DBMS。ODBC的设计思想的设计思想是允许从桌面到中等范围以及大型机上数据库的透明是允许从桌面到中等范围以及大型机上数据库的

7、透明访问。访问。ODBC与与RDORDORemotDataObject远程数据对象远程数据对象产生背景产生背景在应用程序在直接访问在应用程序在直接访问ODBC时,由于时,由于ODBC不是基不是基于对象的,主要是通过调用一些于对象的,主要是通过调用一些APIApplicationProgrammingInterface应用编程接口访问后端数应用编程接口访问后端数据库的,虽然据库的,虽然ODBC的执行效率比的执行效率比DAO要快得多要快得多,但,但编程工作却非常困难,而且错误处理时也不友好。编程工作却非常困难,而且错误处理时也不友好。例如:完成如下的数据库操作,翻开一个例如:完成如下的数据库操作,

8、翻开一个DataBase并并修改一个修改一个Table使用使用DAO需要写需要写5行代码行代码使用使用ODBCAPI函数大概需要函数大概需要30行代码行代码因此提出了因此提出了RDORDORemotDataObject远程数据对象远程数据对象是建立在是建立在ODBC之上的对象模型,提供如同之上的对象模型,提供如同DAO一样的易用性,同时又拥有几乎和一样的易用性,同时又拥有几乎和ODBCAPI一样的速度。一样的速度。使用使用DAO/ODBCDirect功能可以实现远程功能可以实现远程RDO功能功能关系数据库关系数据库SQLSever200、Oracle、Access等等通过通过ODBC应用程序应

9、用程序使用使用RDO访问数据库访问数据库DAOJETRDOODBCJET通知通知ODBC访问效劳器数据库访问效劳器数据库数据库数据库DataBaseODBC允许允许JET或或RDO访问效劳器数访问效劳器数据库据库JET不能直接访问效劳器不能直接访问效劳器ACCESSJET可以直接访问可以直接访问ACCESS数据库数据库缺点缺点DAO与与RDO只能处理后台为关系数据库的只能处理后台为关系数据库的DBMS,不能解决通用数据存储及通用数据访问。不能解决通用数据存储及通用数据访问。例如:一个例如:一个Email系统需要存储多媒体文件以及其系统需要存储多媒体文件以及其他数据,比方说将一个他数据,比方说将

10、一个Excel表格存储于该系统之表格存储于该系统之中,中,DAO与与RDO都不能访问。都不能访问。OLEDB与与ADOOLEDBObjectLinkingandEmbeddingforDataBase数据库对象链接和嵌入数据库对象链接和嵌入MS采用通用数据访问的方法,采用通用数据访问的方法,“你自己保存数据,你自己保存数据,我们给你提供一种方法来访问这些数据。我们给你提供一种方法来访问这些数据。实际上就是一种进行关系型数据和非关系型数据实际上就是一种进行关系型数据和非关系型数据一样的技术。一样的技术。OLEDB定义:定义:MS提供一种对各类应用程序均适用的,采用提供一种对各类应用程序均适用的,

11、采用ODBC接接口,通过结构化查询语言口,通过结构化查询语言SQL对数据库进行访问操作对数据库进行访问操作的总体解决方案。的总体解决方案。设计目的:设计目的:为了给多种多样的应用程序提供优化功能为了给多种多样的应用程序提供优化功能OLEDB与与ADOADOActiveXDataObjectActiveX数据数据对象对象OLEDB和和ODBC一样是一种底层的一样是一种底层的API,其上层,其上层对象模型是对象模型是ADO。ADO几乎兼容所用的数据库系统。几乎兼容所用的数据库系统。定义定义一种数据访问接口,可与符合一种数据访问接口,可与符合OLEDB的数据源通信,的数据源通信,以连接、检索、操作和

12、更新数据。以连接、检索、操作和更新数据。优点:优点:与与DAO和和RDO相比,模型非常小相比,模型非常小不是层次式结构,每个主要对象都可以独立创立。不是层次式结构,每个主要对象都可以独立创立。什么是层次式结构?什么是层次式结构?Excel中把一个数放进一个单元格,不能仅创中把一个数放进一个单元格,不能仅创立单元格,需要创立一个工作表,工作表需立单元格,需要创立一个工作表,工作表需要一个工作簿,工作簿又在要一个工作簿,工作簿又在Excel程序中,因程序中,因此存储一个数据,必须先创立一个此存储一个数据,必须先创立一个Excel对象,对象,在访问。在访问。应用系统应用系统ADOOLEDB游标游标引

13、擎引擎查询查询引擎引擎Shape引擎引擎OLEDB电子电子表格表格ODBCSQLISAM目录目录效劳效劳文件文件系统系统数据使用者数据使用者由由OLEDB提供的效劳提供的效劳数据提供者数据提供者DAOJETRDOODBCJET通知通知ODBC访问效劳器数据库访问效劳器数据库数据库数据库DataBaseODBC允许允许JET或或RDO访问效劳器数访问效劳器数据库据库ADOOLEDBOLEDB可以使用可以使用ODBC或自身提供或自身提供的方法访问数据库的方法访问数据库ACCESSJET可以直接访问可以直接访问ACCESS数据库数据库ADO对象的组成对象的组成七个对象:七个对象:Connection

14、,mand,Parameter,Recordset,Field,Property,Error.四个集合:四个集合:Fields,Properties,Parameters,Errors.Connection对象对象Connection对象连接对象:对象连接对象:是是ADO的首要对象,它建立与数据源的连接、管的首要对象,它建立与数据源的连接、管理程序对数据的一切操作。理程序对数据的一切操作。对数据源的任何操作都需要建立一个对数据源的任何操作都需要建立一个Connection对象,因此对象,因此Connection对象是对象是ADO的基础。的基础。主要功能:主要功能:Connection对象提供与

15、包含路径,口令和连接对象提供与包含路径,口令和连接选项的数据源的链接;选项的数据源的链接;声明:通常声明为全局变量声明:通常声明为全局变量DimcnAsNewADODB.ConnectionConnection属性属性1、ConnectionString属性属性包含用于建立连接数据源的信息。包含用于建立连接数据源的信息。ConnectionString用多项用多项“设置项设置项=值的方式来设定与值的方式来设定与数据源的连接,每个项之间用分号隔开。数据源的连接,每个项之间用分号隔开。对于连接字符串的写法,精确固定的语法是没有的。因对于连接字符串的写法,精确固定的语法是没有的。因为不同类型数据库,

16、有各自的设置项。为不同类型数据库,有各自的设置项。例如:指定例如:指定1个个OLEDB连接,连接字符串可写为:连接,连接字符串可写为:cn.ConnectionString=Provider=SQLOLEDB.1;Password=sa;PersistSecurityInfo=True;UserID=sa;InitialCatalog=library;DataSource=SERVER01SHU032、ConnectionTimeout属性属性设置连接时的最长等待时间,缺省为设置连接时的最长等待时间,缺省为15秒,超时秒,超时还未连接成功的话,中止连接,并返回出错信息。还未连接成功的话,中止连

17、接,并返回出错信息。Connection属性属性Connection方法方法1、Open方法:方法:建立与数据源的物理连接。建立与数据源的物理连接。格式:格式:connection.OpenConnectionString,UserID,Password,Options注意:该方法是使注意:该方法是使Connection获得初始化的方获得初始化的方法,只有使用了该方法,法,只有使用了该方法,Connection对象才真正对象才真正在内存中存在。在内存中存在。后面的参数都是可选参数,最简单如:后面的参数都是可选参数,最简单如:cn.Open但如果这样则需要预先设置好但如果这样则需要预先设置好Co

18、nnectionString等参数。等参数。两种方式翻开连接两种方式翻开连接第一种,先为第一种,先为ConnectionString赋值赋值cn.ConnectionString=Provider=SQLOLEDB.1;Password=sa;PersistSecurityInfo=True;UserID=sa;InitialCatalog=library;DataSource=SERVER01SHU03cn.Open第二种,直接第二种,直接Opencn.OpenProvider=SQLOLEDB.1;Password=sa;PersistSecurityInfo=True;UserID=sa

19、;InitialCatalog=library;DataSource=SERVER01SHU03Connection方法方法2、Close方法:方法:关闭关闭1个数据连接对象,使该连接对象只留在本个数据连接对象,使该连接对象只留在本机内存中,可对其属性更改后再重新建立连接。机内存中,可对其属性更改后再重新建立连接。注意:如果不是关闭对象,而是将对象从内注意:如果不是关闭对象,而是将对象从内存中去除,应使用存中去除,应使用Setconnection对象变量对象变量=Nothing.Setcn=NothingConnection方法方法3、Execute方法:方法:执行执行1个个SQL查询,既可是

20、选择查询,也可是动查询,既可是选择查询,也可是动作查询。作查询。如:如:Setrst=cn.Execute“select*FromstudentwhereSnamelike张张%“但要注意:使用但要注意:使用Connection对象的对象的Execute方方法返回的游标类型是最基本的只能读和只能向前法返回的游标类型是最基本的只能读和只能向前移动的游标移动的游标adOpenForwardOnly,因此,如果,因此,如果该方法执行一个选择查询返回一个记录集时特别该方法执行一个选择查询返回一个记录集时特别要明白。要明白。Recordset对象对象Recordset对象记录集对象对象记录集对象用来管理

21、某个查询返回的记录集以及记录集中的用来管理某个查询返回的记录集以及记录集中的游标。游标。声明:对每一个需要操作的查询结构可以声声明:对每一个需要操作的查询结构可以声明一个明一个Recordset对象对象DimcnAsNewADODB.RecordsetRecordset属性属性1、CursorType属性属性游标类型游标类型AdOpenForwardOnly:仅向前游标,默认值。仅向前游标,默认值。除了只能在记录中向前滚动外,与静态游标相同。除了只能在记录中向前滚动外,与静态游标相同。当只需要在记录集中单向移动时,使用它可提高性能。当只需要在记录集中单向移动时,使用它可提高性能。顾名思义,这种

22、游标只能向前移动。顾名思义,这种游标只能向前移动。AdOpenKeyset:键集游标。键集游标。从你自己的记录集不能访问其他用户删除的记录,无从你自己的记录集不能访问其他用户删除的记录,无法查看其他用户添加的记录,但仍然可以看见其他用法查看其他用户添加的记录,但仍然可以看见其他用户更改的数据。户更改的数据。KeySet游标允许你看见自它创立起其他用户所做的修游标允许你看见自它创立起其他用户所做的修改,然而你却不能看到其他用户增加或删除的记录。改,然而你却不能看到其他用户增加或删除的记录。AdOpenDynamic:动态游标。:动态游标。Dynamic游标可以看到他们保存记录集合的所有变化。游标

23、可以看到他们保存记录集合的所有变化。使用使用Dynamic游标的用户可以看到其他用户所做的编游标的用户可以看到其他用户所做的编辑、增加、删除。辑、增加、删除。如果数据提供者允许这种类型的游标,那么它是通过每如果数据提供者允许这种类型的游标,那么它是通过每隔一段时间从数据源重取数据来支持这种可视性的。毫隔一段时间从数据源重取数据来支持这种可视性的。毫无疑问这会需要很多的资源。无疑问这会需要很多的资源。此类型的游标功能强大同时也是消耗系统资源最多的游此类型的游标功能强大同时也是消耗系统资源最多的游标。标。AdOpenStatic:静态游标。:静态游标。可以用来查找数据或生成报告的记录集合的静态副本

24、。可以用来查找数据或生成报告的记录集合的静态副本。另外,对其他用户所作的添加、更改或删除不可见。另外,对其他用户所作的添加、更改或删除不可见。Static类游标只是数据的一幅快照。这就是说,它无法类游标只是数据的一幅快照。这就是说,它无法看到自它创立以后其他用户对看到自它创立以后其他用户对RecordSet所做的修改。所做的修改。采用这类游标你可以向前和向后航行。采用这类游标你可以向前和向后航行。由于其功能简单,资源的需求比由于其功能简单,资源的需求比Dynamic要小!要小!需要注意的是:需要注意的是:一旦翻开一旦翻开RecordSet,你就无法改变,你就无法改变CursorType属性。属

25、性。但是,如果你首先关闭但是,如果你首先关闭RecordSet,改变,改变CursorType属性,然后重新翻开属性,然后重新翻开RecordSet,那么你仍可以有效地改变游标的类型!那么你仍可以有效地改变游标的类型!Recordset属性属性2、LockType属性属性在任何同时可被多用户修改的数据库应用程序中,在任何同时可被多用户修改的数据库应用程序中,你必须处理可能发生的多个用户同时对同一条记你必须处理可能发生的多个用户同时对同一条记录进行操作时的情况。录进行操作时的情况。当这种情况出现时,数据的完整性就会受到威胁,当这种情况出现时,数据的完整性就会受到威胁,这是因为一个用户可能会在不自

26、觉地在保存自己这是因为一个用户可能会在不自觉地在保存自己所做的修改时覆盖他人的修改。到时候你会觉得所做的修改时覆盖他人的修改。到时候你会觉得自己好象是没有做事。自己好象是没有做事。为了处理这种情况,为了处理这种情况,ADO允许你在对允许你在对RecordSet对象进行更新时决定并发事件控制的对象进行更新时决定并发事件控制的类型,当一个用户编辑时,如何由他对记录进行类型,当一个用户编辑时,如何由他对记录进行锁定。这就是由锁定。这就是由LockType属性所决定的。属性所决定的。LockType属性有四个值:属性有四个值:adLockReadonly:默认值,只读。:默认值,只读。无法更改数据。无

27、法更改数据。这是这是RecodSet的默认值,如果你把锁定的方式的默认值,如果你把锁定的方式设为该值,那么你将不能更新设为该值,那么你将不能更新Recordset。adLockPessimistic:保守式记录锁定逐:保守式记录锁定逐条。条。提供者执行必要的操作确保成功编辑记录,通常提供者执行必要的操作确保成功编辑记录,通常采用编辑时立即锁定数据源的记录的方式。采用编辑时立即锁定数据源的记录的方式。如果设置为此类锁定,记录被锁定,且只有在编如果设置为此类锁定,记录被锁定,且只有在编辑开始到将记录更新的提交给数据提供者这段时辑开始到将记录更新的提交给数据提供者这段时间内进行编辑的用户才可以访问间

28、内进行编辑的用户才可以访问!adLockOptimistic:开放式记录锁定逐条。:开放式记录锁定逐条。提供者使用开放式锁定,只在调用提供者使用开放式锁定,只在调用Update方法时锁定记方法时锁定记录。录。只有在将数据提交给数据提供者的那一瞬间才把记录锁只有在将数据提交给数据提供者的那一瞬间才把记录锁定。定。adlockBatchOptimistic:开放式批更新。:开放式批更新。用于与立即更新模式相反的批更新模式。设定为这种类用于与立即更新模式相反的批更新模式。设定为这种类型的锁定制式将被称为批量更新模式的型的锁定制式将被称为批量更新模式的RecordSet。可以加快更新可以加快更新Rec

29、ordSet修改数据的速度,但因为同时修改数据的速度,但因为同时更新多个记录,它也会恶化与并发访问相关的问题!更新多个记录,它也会恶化与并发访问相关的问题!Recordset属性属性3、RecordCount属性属性使用使用RecordCount属性可确定属性可确定Recordset对象对象中记录的数目。中记录的数目。ADO无法确定记录数时,或者如果提供者或游无法确定记录数时,或者如果提供者或游标类型不支持标类型不支持RecordCount,则该属性返回,则该属性返回1读已关闭的读已关闭的Recordset上的上的RecordCount属属性将产生错误。性将产生错误。Recordset对象的游

30、标类型会影响是否能够确定对象的游标类型会影响是否能够确定记录的数目。记录的数目。对仅向前游标,对仅向前游标,RecordCount属性将返回属性将返回-1;对静态或键集游标返回实际计数;对静态或键集游标返回实际计数;对动态游标取决于数据源返回对动态游标取决于数据源返回-1或实际计数。或实际计数。Recordset属性属性BOF与与EOF属性属性通常我们在程序中编写代码来检验通常我们在程序中编写代码来检验BOF与与EOF属属性,从而得知目前指标所指向的性,从而得知目前指标所指向的RecordSet的位的位置,置,使用使用BOF与与EOF属性,可以得知一个属性,可以得知一个Recordset对象是

31、否包含有记录或者得知移动记录行是否已对象是否包含有记录或者得知移动记录行是否已经超出该经超出该Recordset对象的范围。对象的范围。假设当前记录的位置是在一个假设当前记录的位置是在一个Recordset对象第一行对象第一行记录之前时,记录之前时,BOF属性返回属性返回true,反之则返回,反之则返回false。假设当前记录的位置是在一个假设当前记录的位置是在一个Recordset对象最后一对象最后一行记录之后时,行记录之后时,EOF属性返回属性返回true,反之则返回,反之则返回false。BOF与与EOF都为都为True表示在表示在RecordSet里没有任何记里没有任何记录。录。学生登

32、记表学生登记表数学所数学所0122女女张张力力010101数学所数学所0122女女张张力力010101首首钢钢1630男男李一李一鸣鸣990116计计算所算所0123女女陈陈婷婷婷婷990129化学所化学所0424男男王朝王朝011008物理所物理所0223男男林宏林宏业业010302BOFBeginningofFileErrorsErrorsEOFEndofFilerst.Bof=falserst.Bof=truerst.Eof=truerst.Eof=false系统出错系统出错系统出错系统出错RecordSet方法方法1、AddNew方法方法创立可更新创立可更新Recordset对象的新记

33、录。对象的新记录。格式:格式:rst.AddNewFieldList,Values在程序中使用在程序中使用ADO的的AddNew方法和直接使方法和直接使用用“Insertinto.语句有和不同?那种方式语句有和不同?那种方式更好?更好?答:答:ADO的的AddNew方法只是将方法只是将“Insertinto语句封装了起来,所以,当对大量数据进行操作语句封装了起来,所以,当对大量数据进行操作的时候,直接使用的时候,直接使用SQL语句将会大大加快存取数语句将会大大加快存取数据的速度,因为他减少了据的速度,因为他减少了ADO的的“翻译时间。翻译时间。2、Delete方法方法删除当前记录或记录组。删除

34、当前记录或记录组。格式:格式:rst.DeleteAffectRecords3、Update方法方法保存对保存对Recordset对象的当前记录所做的所有更改对象的当前记录所做的所有更改格式:格式:rst.UpdateFields,Values4、Find方法方法搜索搜索Recordset中满足指定标准的记录。如果满足标准,中满足指定标准的记录。如果满足标准,则记录集位置设置在找到的记录上,否则位置将设置在记则记录集位置设置在找到的记录上,否则位置将设置在记录集的末尾。录集的末尾。格式:格式:rst.Findcriteria,SkipRows,searchDirection,start5、Mo

35、veFirst、MoveLast、MoveNext和和MovePrevious方法方法在指定在指定Recordset对象中移动到第一个、最后对象中移动到第一个、最后一个、下一个或前一个记录并使该记录成为当前一个、下一个或前一个记录并使该记录成为当前记录。记录。格式:格式:rst.MoveFirst|MoveLast|MoveNext|MovePrevious需要注意的是:需要注意的是:1使用使用MoveNext方法将当前游标向下移动一方法将当前游标向下移动一个记录向记录集的底部。个记录向记录集的底部。如果最后一个记录是当前游标所指记录并且调用如果最后一个记录是当前游标所指记录并且调用MoveN

36、ext方法,则方法,则ADO将当前游标设置到将当前游标设置到RecordsetEOF为为True的尾记录之后。的尾记录之后。当当EOF属性已经为属性已经为True时试图向下移动将产生错误。时试图向下移动将产生错误。2使用使用MovePrevious方法将当前游标位置向方法将当前游标位置向上移动一个记录向记录集的顶部。上移动一个记录向记录集的顶部。Recordset对象必须支持向后游标移动;否则方法调对象必须支持向后游标移动;否则方法调用将产生错误。用将产生错误。如果首记录是当前游标所指记录并且调用如果首记录是当前游标所指记录并且调用MovePrevious方法,则方法,则ADO将当前游标设置在

37、将当前游标设置在RecordsetBOF为为True的首记录之前。的首记录之前。而而BOF属性为属性为True时向后移动将产生错误。时向后移动将产生错误。学生登记表学生登记表数学所数学所0122女女张张力力010101数学所数学所0122女女张张力力010101首首钢钢1630男男李一李一鸣鸣990116计计算所算所0123女女陈陈婷婷婷婷990129化学所化学所0424男男王朝王朝011008物理所物理所0223男男林宏林宏业业010302BOFBeginningofFileErrorsErrorsEOFEndofFilerst.Bof=falserst.Bof=true系统出错系统出错rs

38、t.MovePreviousrst.Bof=falseRecordSet方法方法6、Move方法方法移动移动Recordset对象中当前记录的位置对象中当前记录的位置格式:格式:rst.MoveNumRecords,StartNumRecords带符号长整型表达式,指定当前带符号长整型表达式,指定当前记录位置移动的记录数。记录位置移动的记录数。Start可选,字符串或变体型,用于计算书签。可选,字符串或变体型,用于计算书签。也可为以下值之一:也可为以下值之一:AdBookmarkCurrent默认。从当前记录开始。默认。从当前记录开始。AdBookmarkFirst从首记录开始。从首记录开始。

39、AdBookmarkLast从尾记录开始。从尾记录开始。需要注意的是:需要注意的是:1如果如果NumRecords参数大于零,则当前游参数大于零,则当前游标位置将向下移动向记录集的末尾。标位置将向下移动向记录集的末尾。如果如果NumRecords小于零,则当前游标位置向小于零,则当前游标位置向上移动向记录集的开始。上移动向记录集的开始。2从空的从空的Recordset对象调用对象调用Move方法将产方法将产生错误。生错误。3如果如果Move调用将当前记录位置移动到首记调用将当前记录位置移动到首记录之前,则录之前,则ADO将当前记录放置在记录集将当前记录放置在记录集BOF为为True的首记录之前

40、。在的首记录之前。在BOF属性已属性已经为经为True时试图向后移动将产生错误;如果时试图向后移动将产生错误;如果Move调用将当前记录位置移动调用将当前记录位置移动RecordSet方法方法7、Open方法:方法:格式:格式:rst.OpenSource,ActiveConnection,CursorType,LockType,OptionsSource参数参数可以是一段可以是一段SQL命令、一个指定的数据表名称或是一命令、一个指定的数据表名称或是一个个StoredProcedure。ActiveConnection参数参数Recordset对象可以通过对象可以通过ActiveConnect

41、ion属性来连属性来连接接Connection对象。对象。CursorType参数参数表示将以什么样的游标类型启动数据,包括:表示将以什么样的游标类型启动数据,包括:adOpenForwardOnly、默认值、默认值adOpenKeyset、adOpenDynamic、adOpenStatic。LockType参数参数表示要采用的表示要采用的Lock类型,如果忽略这个参数,类型,如果忽略这个参数,那么系统会以那么系统会以Recordset对象的对象的LockType属性属性为预设值。包含:为预设值。包含:adLockReadOnly、默认值、默认值adLockPrssimistic、adLoc

42、kOptimistic、adLockBatchOptimisticDim ssql As String ssql=select*from student order by Sno Set rst=Nothing rst.Open ssql,cn,adOpenStatic,adLockOptimistic RecordSet方法方法8、Close方法:方法:关闭关闭1个数据连接对象,使该连接对象只留在本个数据连接对象,使该连接对象只留在本机内存中,可对其属性更改后再重新建立连接。机内存中,可对其属性更改后再重新建立连接。注意:注意:如果不是关闭对象,而是将对象从内存中去除,如果不是关闭对象,而是

43、将对象从内存中去除,应使用应使用Setconnection对象变量对象变量=Nothing.Setrst=NothingFields集合列集合:集合列集合:代代表表一一个个记记录录集集中中的的一一个个列列。通通过过该该对对象象可可以以取取得一个记录集内不同列的值得一个记录集内不同列的值。RecordSet对象数据的读取方法对象数据的读取方法Text1.Text=rst.FieldssnoText2.Text=rst.Fields1Text3.Text=rstSageText4.Text=rst4 Fields集合集合数据库操作的基本步骤数据库操作的基本步骤操作数据库的方法如下:操作数据库的方法

44、如下:1翻开连接翻开连接ADO翻开连接的主要方法是使用翻开连接的主要方法是使用Connection.Open方法。方法。2创立命令创立命令查查询询命命令令要要求求数数据据源源返返回回含含有有所所要要求求记记录录行的行的Recordset对象。命令通常使用对象。命令通常使用SQL编写。编写。3执行命令执行命令返回返回Recordset的方法有三种:的方法有三种:Connection.Execute、mand.Execute以以及及Recordset.Open。注注意意,必必须须在在执执行行命命令令之之前前翻翻开开与与数数据据库库的的连连接接,不不同同执执行行命命令令的的方方法法在在执执行行命命令

45、令时时连连接接数据库的方式有所不同。数据库的方式有所不同。l lConnection.Execute方法方法使用由使用由Connection对象本身表现的连接。对象本身表现的连接。l lmand.Execute方法方法利利 用用 其其 ActiveConnection属属 性性 中中 所所 设设 置置 的的Connection对象来表现连接。对象来表现连接。Recordset.Open方法方法可可 通通 过过 其其 ActiveConnection属属 性性 来来 连连 接接Connection对象。对象。这里的这里的ActiveConnection参数可以是一个指定的参数可以是一个指定的Co

46、nnection对象名称或者是一串包含数据库信息的字对象名称或者是一串包含数据库信息的字符串参数。符串参数。另一方面,另一方面,Open方法允许指定方法允许指定CursorType和和LockType属性;属性;Execute方法既可执行不返回数据的命令也可方法既可执行不返回数据的命令也可返回快速只读、仅向前返回快速只读、仅向前Recordset对象。对象。4操作数据操作数据大大量量Recordset对对象象方方法法和和属属性性可可用用于于对对Recordset数据行进行检查、定位以及操作。数据行进行检查、定位以及操作。Recordset可看作行数组,在任意给定时间可看作行数组,在任意给定时间

47、可进行测试和操作的行为可进行测试和操作的行为“当前行,在当前行,在Recordset中的位置为中的位置为“当前行位置。每次当前行位置。每次移动到另一行时,该行将成为新的当前行。移动到另一行时,该行将成为新的当前行。有有多多种种方方法法可可在在Recordset中中显显示示移移动动或或“定定位位Move方方法法。一一些些方方法法Find方方法法在在其其操操作作的的附附加加效效果果中中也也能能够够做做到到。此此外外,设设置置某某个个属属性性Bookmark属属性性同样可以更改行的位置。同样可以更改行的位置。Recordset有一个有一个Fields集合,它是集合,它是在行中代表每个字段或列的在行中

48、代表每个字段或列的Field集,可从集,可从Field对象的对象的Value属性中为字段赋值或检索属性中为字段赋值或检索数据。作为选项,可访问大量字段数据数据。作为选项,可访问大量字段数据GetRows和和Update方法。方法。参考书目参考书目课本:课本:第第11章章面向对象数据库面向对象数据库11.12第第12章章数据库应用的结构与开发环境数据库应用的结构与开发环境12.1,12.2.1,12.3.12网络数据库,总主编:李琪,重庆大学网络数据库,总主编:李琪,重庆大学出版社,第出版社,第5章章开放数据库互连开放数据库互连VisualBasic程序设计教程,刘瑞新,程序设计教程,刘瑞新,电

49、子工业出版社,第电子工业出版社,第15章章数据库访问技术数据库访问技术9、静夜四无邻,荒居旧业贫。4月-234月-23Tuesday,April 18,202310、雨中黄叶树,灯下白头人。08:41:4208:41:4208:414/18/2023 8:41:42 AM11、以我独沈久,愧君相见频。4月-2308:41:4208:41Apr-2318-Apr-2312、故人江海别,几度隔山川。08:41:4208:41:4208:41Tuesday,April 18,202313、乍见翻疑梦,相悲各问年。4月-234月-2308:41:4208:41:42April 18,202314、他乡

50、生白发,旧国见青山。18 四月 20238:41:42 上午08:41:424月-2315、比不了得就不比,得不到的就不要。四月 238:41 上午4月-2308:41April 18,202316、行动出成果,工作出财富。2023/4/18 8:41:4208:41:4218 April 202317、做前,能够环视四周;做时,你只能或者最好沿着以脚为起点的射线向前。8:41:42 上午8:41 上午08:41:424月-239、没有失败,只有暂时停止成功!。4月-234月-23Tuesday,April 18,202310、很多事情努力了未必有结果,但是不努力却什么改变也没有。08:41:

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 技术资料 > 其他杂项

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁