《网络程序设计.ppt》由会员分享,可在线阅读,更多相关《网络程序设计.ppt(56页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、网络程序设计 Still waters run deep.流静水深流静水深,人静心深人静心深 Where there is life,there is hope。有生命必有希望。有生命必有希望章节概述章节概述章节概述章节概述使用使用ASPASP技术设计网页,把数据库放到技术设计网页,把数据库放到网页的后面,使用户不必直接操作数据网页的后面,使用户不必直接操作数据库,而是通过网页来使用数据库,这样库,而是通过网页来使用数据库,这样用户可以方便灵活的,在自己权限范围用户可以方便灵活的,在自己权限范围内操作数据库。内操作数据库。章节内容章节内容章节内容章节内容本章的主要内容是:本章的主要内容是:数据
2、库存取组件介绍数据库存取组件介绍ConnectionConnection对象对象CommandCommand对象对象RecordseRecordse对象对象9.19.1数据库存取组件数据库存取组件数据库存取组件数据库存取组件n数据库存取组件(数据库存取组件(Database Access ComponentDatabase Access Component)是使用)是使用ADOADO(ActiveX Data ObjectsActiveX Data Objects)技术来存取符合)技术来存取符合ODBCODBC标准的标准的数据库或者具有表格状数据形式的一种数据库或者具有表格状数据形式的一种AS
3、PASP内置组件。内置组件。nADOADO数据库存取组件(以下简称数据库存取组件(以下简称ADOADO)可以兼容大部分的数)可以兼容大部分的数据库,本书主要介绍据库,本书主要介绍ADOADO对对ACCESSACCESS数据库的存取操作。数据库的存取操作。9.19.1数据库存取组件数据库存取组件数据库存取组件数据库存取组件nADOADO数据库存取组件主要包括三个对象数据库存取组件主要包括三个对象ConnectionConnection对象又叫连接对象,主要用来在对象又叫连接对象,主要用来在ASPASP文件和数文件和数据库之间建立连接,为两者间的信息传递提供通道,是据库之间建立连接,为两者间的信息
4、传递提供通道,是CommandCommand对象的基础。对象的基础。CommandCommand对象又叫命令对象,主要对数据库执行操作,包对象又叫命令对象,主要对数据库执行操作,包括:增加、删除、修改和查询四种常用的操作。括:增加、删除、修改和查询四种常用的操作。RecordseRecordse对象又叫记录集对象,如果对数据库执行查询操对象又叫记录集对象,如果对数据库执行查询操作,就会返回一个记录集合,包含满足条件的记录。作,就会返回一个记录集合,包含满足条件的记录。ADOADOADOADO的使用方法的使用方法的使用方法的使用方法n三个对象拥有丰富的属性和方法,使用灵活多样,为了便三个对象拥有
5、丰富的属性和方法,使用灵活多样,为了便于大家掌握,本书对三个对象的主要属性和方法进行说明于大家掌握,本书对三个对象的主要属性和方法进行说明的同时,提供了一种比较科学的和完整的使用方法。的同时,提供了一种比较科学的和完整的使用方法。nADOADO对象的使用方法是:首先使用对象的使用方法是:首先使用ConnectionConnection对象建立数据对象建立数据库连接,然后使用库连接,然后使用CommandCommand对象执行对数据库的操作,如果对象执行对数据库的操作,如果执行的操作时查询,使用执行的操作时查询,使用RecordsetRecordset对象获取查询的结果。对象获取查询的结果。9.
6、2 Connection9.2 Connection对象对象对象对象n功功能能概概述述:使使用用ADOADO对对数数据据库库进进行行操操作作,首首先先要要依依靠靠ConnectionConnection对象在网页和数据库之间建立连接。对象在网页和数据库之间建立连接。n使使用用方方法法:首首先先创创建建ConnectionConnection对对象象,然然后后设设置置ConnectionConnection对对象象的的属属性性,最最后后执执行行ConnectionConnection对对象象的的相应方法。相应方法。9.2.1Connection9.2.1Connection对象的创建对象的创建对
7、象的创建对象的创建nConnectionConnection对象的创建语法如下:对象的创建语法如下:Set ConnectionSet Connection对象对象=Server.Createobject(=Server.Createobject(“Adodb.ConnectionAdodb.Connection”)n例如:例如:%9.2.2 Connection9.2.2 Connection对象常用的属性对象常用的属性对象常用的属性对象常用的属性nConnectionstringConnectionstring:用于指定:用于指定ConnectionConnection对象的数据库连对象的
8、数据库连接信息。它的取值可以有两种:数据源或连接字符串。语接信息。它的取值可以有两种:数据源或连接字符串。语法为:法为:ConnectionConnection对象对象.Connectionstring=.Connectionstring=数据源或连接字符串数据源或连接字符串 nConnectiontimeoutConnectiontimeout:用于指定:用于指定ConnectionConnection对象的对象的OpenOpen方法方法打开与数据库的连接所需的最长时间,单位是秒。该属性打开与数据库的连接所需的最长时间,单位是秒。该属性的默认值为的默认值为1515秒,如果设定为秒,如果设定为
9、0 0,表示一直连接下去,直到,表示一直连接下去,直到连通为止。语法为:连通为止。语法为:ConnectionConnection对象对象.Connectiontimeout=.Connectiontimeout=整数整数 9.2.49.2.4使用数据源和连接字符串使用数据源和连接字符串使用数据源和连接字符串使用数据源和连接字符串nConnection Connection 对象的对象的ConnectionstringConnectionstring属性用于设属性用于设置对数据库的连接,它的取值有两种:置对数据库的连接,它的取值有两种:使用数据源(使用数据源(ODBCODBC)使用连接字符串使
10、用连接字符串使用数据源使用数据源使用数据源使用数据源n数据源就是数据源开放数据库连接(数据源就是数据源开放数据库连接(ODBCODBC),利用),利用它可以访问来自多种数据库管理系统的数据。数据它可以访问来自多种数据库管理系统的数据。数据源采用统一的方法访问各种数据库管理系统,并提源采用统一的方法访问各种数据库管理系统,并提供给应用程序统一的接口,这样应用程序不必关心供给应用程序统一的接口,这样应用程序不必关心如何连接具体的那种数据库管理系统,而只需要使如何连接具体的那种数据库管理系统,而只需要使用数据源,就可以操作各种数据库了。用数据源,就可以操作各种数据库了。n请看数据库连接实例请看数据库
11、连接实例使用数据源使用数据源使用数据源使用数据源创建创建Connection Connection 对象,使用数据源与数据库连接,代码如下:对象,使用数据源与数据库连接,代码如下:%dim dbcn%使用连接字符串使用连接字符串使用连接字符串使用连接字符串n数据源连接数据库管理系统需要具有在服务器上创数据源连接数据库管理系统需要具有在服务器上创建数据源的权限,而且移植到另一台服务器上需要建数据源的权限,而且移植到另一台服务器上需要重新设置数据源,而使用数据库连接字符串则没有重新设置数据源,而使用数据库连接字符串则没有这些问题。这些问题。n对对AccessAccess数据库使用数据库连接字符串需
12、要用到两数据库使用数据库连接字符串需要用到两个参数个参数DbqDbq和和DriverDriver,DbqDbq的取值是数据库的物理路的取值是数据库的物理路径,径,DriverDriver的取值是数据库的类型。的取值是数据库的类型。直接使用物理路径直接使用物理路径直接使用物理路径直接使用物理路径n下面使用连接字符串作为下面使用连接字符串作为ConnectionStringConnectionString属性的属性的取值。取值。n例如:例如:CJGL.mdbCJGL.mdb数据库文件在数据库文件在C:Inetpubwwwrootchapter10C:Inetpubwwwrootchapter10文
13、件夹中,文件夹中,可以设置为:可以设置为:%Dbcn.connectionstring=%转换使用物理路径转换使用物理路径转换使用物理路径转换使用物理路径 在实际的开发中为方便移植,采用相对路径,利用在实际的开发中为方便移植,采用相对路径,利用ServerServer对象的对象的MappathMappath方法,将相对路径转变为实际的物理路径。方法,将相对路径转变为实际的物理路径。语法为:语法为:Server.MappathServer.Mappath(虚拟路径字符串)(虚拟路径字符串)n如果数据库文件和当前如果数据库文件和当前ASPASP文件在同一个文件夹中,直接书写数文件在同一个文件夹中,
14、直接书写数据库文件名,上例可以修改为:据库文件名,上例可以修改为:%Dbcn.connectionstring=%n如果数据库文件和如果数据库文件和ASPASP文件不在同一个文件夹,要书写数据库文文件不在同一个文件夹,要书写数据库文件相对于件相对于ASPASP文件的路径。为了方便管理,经常在网页的根目录文件的路径。为了方便管理,经常在网页的根目录下,建立专门的文件夹存放数据库文件。例如:当前网页在根下,建立专门的文件夹存放数据库文件。例如:当前网页在根目录下,并且在根目录下建立目录下,并且在根目录下建立DataData文件夹存放文件夹存放CJGL.MDBCJGL.MDB数据库数据库文件,则文件
15、,则ConnectionStringConnectionString属性设置如下:属性设置如下:%Dbcn.connectionstring=%转换使用物理路径转换使用物理路径转换使用物理路径转换使用物理路径 n如果数据库文件和如果数据库文件和ASPASP文件不在同一个文件夹,要书写文件不在同一个文件夹,要书写数据库文件相对于数据库文件相对于ASPASP文件的路径。为方便管理,经常文件的路径。为方便管理,经常在网页根目录下,建立专门文件夹存放数据库文件。在网页根目录下,建立专门文件夹存放数据库文件。n例如:当前网页在根目录下,并且在根目录下建立例如:当前网页在根目录下,并且在根目录下建立Dat
16、aData文件夹存放文件夹存放CJGL.MDBCJGL.MDB数据库文件,当前网页如果数据库文件,当前网页如果也在根目录下,则也在根目录下,则ConnectionStringConnectionString属性设置如下:属性设置如下:%Dbcn.connectionstring=%9.2.3Connection9.2.3Connection对象常用的方法对象常用的方法对象常用的方法对象常用的方法nOpenOpen:打开与数据库的连接。在使用:打开与数据库的连接。在使用openopen方法前要方法前要设置设置ConnectionstringConnectionstring属性,这是它的操作对象。
17、属性,这是它的操作对象。语法为:语法为:ConnectionConnection对象对象.Open.Open nCloseClose:关闭一个已经打开的:关闭一个已经打开的ASPASP网页文件和数据库网页文件和数据库之间的连接。当连接关闭了,之间的连接。当连接关闭了,ConnectionConnection对象依然对象依然存在,但依赖于存在,但依赖于ConnectionConnection对象的对象的CommandCommand对象和对象和RecordsetRecordset对象将不能使用。语法为:对象将不能使用。语法为:ConnectionConnection对象对象.close.close
18、n如果不再使用如果不再使用connectionconnection对象最好注销,节省系统对象最好注销,节省系统资源。语法为:资源。语法为:Set connectionSet connection对象爱那个对象爱那个=nothing nothing 字符串连接数据库完整的示例字符串连接数据库完整的示例字符串连接数据库完整的示例字符串连接数据库完整的示例%dim dbcn%9.3Command9.3Command对象对象对象对象nCommandCommand对象主要功能是对数据库执行操作。该对象利对象主要功能是对数据库执行操作。该对象利用用connectionconnection对象提供的连接,在
19、对象提供的连接,在ASPASP网页文件和数据网页文件和数据库间传递对数据库的操作命令。库间传递对数据库的操作命令。nCommandCommand对象使用方法:首先创建对象使用方法:首先创建ConnectionConnection对象,设对象,设置置ConnectionConnection对象属性,打开与数据库的连接,然后对象属性,打开与数据库的连接,然后创建创建commandcommand对象,设置对象,设置CommandCommand对象的属性,执行对象的属性,执行CommandCommand对象的方法,如果是查询操作,则创建对象的方法,如果是查询操作,则创建RecordsetRecords
20、et对象接收查询结果。对象接收查询结果。9.3.1Command9.3.1Command对象的创建对象的创建对象的创建对象的创建nCommandCommand对象的创建类似于对象的创建类似于connectionconnection对象,要使用对象,要使用serverserver对象的对象的createobjectcreateobject方法。方法。CommandCommand对象的创建对象的创建语法如下:语法如下:%Set Command)%n例如:例如:%9.3.2Command9.3.2Command对象的属性对象的属性对象的属性对象的属性nActiveConnectionActiveCo
21、nnection:设置:设置CommandCommand对象需要使用的对象需要使用的那个那个connectionconnection对象作为连接。该属性取值为已经对象作为连接。该属性取值为已经打开的打开的connectionconnection对象。语法为:对象。语法为:CommandCommand对象对象.Activeconnection=connection.Activeconnection=connection对象对象 nCommandtextCommandtext:设置对数据库的操作命令。它的取:设置对数据库的操作命令。它的取值可以是值可以是SQLSQL语句、表名或查询名。语法为:语句
22、、表名或查询名。语法为:CommandCommand对象对象.Commandtext=SQL.Commandtext=SQL语句、表名和查询名语句、表名和查询名CommandCommand对象的属性对象的属性对象的属性对象的属性nCommandtypeCommandtype:该属性设置操作命令的类型,即说:该属性设置操作命令的类型,即说明明CommandtextCommandtext属性取值的类型。属性取值的类型。语法为:语法为:CommandCommand对象对象.Commandtype=.Commandtype=属性值属性值n在存取在存取AccessAccess数据库中常用的取值如表所示:
23、数据库中常用的取值如表所示:数值数值说明说明-1系统自己判定系统自己判定1SQL语句语句2表名表名4查询名查询名CommandCommand对象的属性对象的属性对象的属性对象的属性nCommandtimeoutCommandtimeout:设置:设置CommandCommand对象的对象的executeexecute方法的方法的最长执行时间,单位是秒。默认值是最长执行时间,单位是秒。默认值是3030秒,可以根据秒,可以根据需要设置大小,如果要无限制的执行下去,则应该设需要设置大小,如果要无限制的执行下去,则应该设置为置为0 0。语法为:。语法为:CommandCommand对象对象.Comma
24、ndtimeout=.Commandtimeout=整数值整数值nPreparedPrepared:设置:设置CommandtextCommandtext属性所指定的操作命令是属性所指定的操作命令是否先行编译,存储。对于经常使用的查询语句,可以否先行编译,存储。对于经常使用的查询语句,可以将它进行编译、存储,第一遍执行时会慢一些,以后将它进行编译、存储,第一遍执行时会慢一些,以后执行时,速度可以明显加快。它的取值为执行时,速度可以明显加快。它的取值为TrueTrue或者或者FalseFalse。语法为:。语法为:CommandCommand对象对象.Prepared=True.Prepared
25、=True或或FalseFalse9.3.3Command9.3.3Command对象的方法对象的方法对象的方法对象的方法nExecuteExecute:执行对数据库的各种操作。对数据库的操:执行对数据库的各种操作。对数据库的操作可以归纳为增加、删除、更新和查询。作可以归纳为增加、删除、更新和查询。如果执行增加、删除和更新操作,没有返回值。语法为:如果执行增加、删除和更新操作,没有返回值。语法为:-CommandCommand对象对象.execute.execute如果执行查询操作,则返回一个记录集合,需要创建一个如果执行查询操作,则返回一个记录集合,需要创建一个recordsetrecord
26、set对象来接受这个记录集。关于对象来接受这个记录集。关于recordsetrecordset对象的对象的主要使用方法在主要使用方法在9.49.4节做详细的介绍,这里给出一种较简单节做详细的介绍,这里给出一种较简单的创建方法。语法为:的创建方法。语法为:-Set recordsetSet recordset对象对象=Command=Command对象对象.execute.executenCreateparameterCreateparameter:创建:创建parameterparameter子对象,主要用于子对象,主要用于参数查询。在参数查询。在9.3.59.3.5小节对参数查询作详细的介绍
27、。小节对参数查询作详细的介绍。9.3.49.3.4在在在在CommandCommand对象中使用对象中使用对象中使用对象中使用SQLSQL语句语句语句语句n通过设置通过设置CommandCommand对象的对象的CommandtextCommandtext属性,可以使属性,可以使用用SQLSQL语句、表和查询对数据库进行存取,其中使语句、表和查询对数据库进行存取,其中使用用SQLSQL语句是最简单的形式。语法为:语句是最简单的形式。语法为:CommandCommand对象对象.Commandtext=SQL.Commandtext=SQL语句语句nSQLSQL语句的条件部分对数据进行筛选,条件
28、可以是语句的条件部分对数据进行筛选,条件可以是常量表达式常量表达式变量表达式变量表达式下面分别介绍两种形式的下面分别介绍两种形式的SQLSQL语句在语句在CommandCommand对象中对象中的应用。的应用。n提示:可以先在数据库中调试好提示:可以先在数据库中调试好SQLSQL语句,然后拿语句,然后拿过来用。过来用。1.1.常量条件常量条件常量条件常量条件n这类这类SQLSQL语句中,条件表达式是确定的。语句中,条件表达式是确定的。n例如:查询女同学的信息,对应的例如:查询女同学的信息,对应的SQLSQL语句为:语句为:Select*from xsxx where xb=Select*fro
29、m xsxx where xb=女女n把该语句设置为把该语句设置为CommandCommand对象的对象的CommandtextCommandtext属性,属性,如下如下%mandtext=Select*from xsxx where%n提示:字符串用提示:字符串用,日期时间类型使用,日期时间类型使用#,数字,数字类型直接书写。类型直接书写。2.2.变量条件变量条件变量条件变量条件n这类这类SQLSQL语句中,条件表达式是变量。语句中,条件表达式是变量。n例如:根据性别例如:根据性别x x查询同学的信息。查询同学的信息。首先把变量当作常量来使用,书写对应的首先把变量当作常量来使用,书写对应的S
30、QLSQL语句为:语句为:Select*from xsxx where xb=Select*from xsxx where xb=x x然后进行变换:然后进行变换:Select*from xsxx where Select*from xsxx where xb=xb=”&x&x&”n把该语句设置为把该语句设置为CommandCommand对象的对象的CommandtextCommandtext属性,属性,如下如下:%mandtext=Select*from xsxx where%9.3.59.3.5在在在在CommandCommand对象中使用表和非对象中使用表和非对象中使用表和非对象中使用表
31、和非参数查询参数查询参数查询参数查询n1.1.使用表使用表有的时候我们需要获取整个表的全部数据,这种情况下可以设置有的时候我们需要获取整个表的全部数据,这种情况下可以设置commandtextcommandtext属性取值为相应的表名。语法为:属性取值为相应的表名。语法为:CommandCommand对象对象.Commandtext=.Commandtext=表名表名CommandCommand对象对象.Commandtype=2.Commandtype=2n2.2.使用非参数查询使用非参数查询通过设置通过设置commandtextcommandtext属性的取值为查询名,可以执行相应的查询。
32、这样属性的取值为查询名,可以执行相应的查询。这样做相对于直接书写做相对于直接书写SQLSQL语句的好处有三个:语句的好处有三个:(1 1)在)在AccessAccess数据库中创建查询比在网页直接书写数据库中创建查询比在网页直接书写SQLSQL语句更容易,更语句更容易,更方便。方便。(2 2)在)在AccessAccess数据库中创建查询更安全,这样在网页屏蔽了数据库的数据库中创建查询更安全,这样在网页屏蔽了数据库的结构信息,减小了系统风险。结构信息,减小了系统风险。(3 3)在)在AccessAccess数据库中创建查询,在网页中引用查询名,使数据库的数据库中创建查询,在网页中引用查询名,使
33、数据库的设计开发和网页程序的开发相对独立,便于分工合作。设计开发和网页程序的开发相对独立,便于分工合作。9.3.69.3.6使用参数查询使用参数查询使用参数查询使用参数查询n在数据库中使用参数查询可以由用户决定查询的内在数据库中使用参数查询可以由用户决定查询的内容,类似前面的在容,类似前面的在SQLSQL语句中使用变量的形式。语句中使用变量的形式。n在在CommandCommand对象中使用参数查询的方法是:首先创建对象中使用参数查询的方法是:首先创建参数对象参数对象ParameterParameter,然后把参数变量添加到参数集,然后把参数变量添加到参数集合合ParametersParame
34、ters,最后设置,最后设置CommandCommand对象的属性,执行对象的属性,执行查询操作。查询操作。1.1.创建参数对象创建参数对象创建参数对象创建参数对象 nCommandCommand对象提供了对象提供了CreateparameterCreateparameter方法创建参数对象,方法创建参数对象,语法为:语法为:Set ParameterSet Parameter对象对象=Command=Command对象对象.Createparameter(name,type,direction,size,value)Createparameter(name,type,direction,si
35、ze,value)参数参数说明说明NameName参数名称参数名称TypeType参数类型可以省略参数类型可以省略DirectionDirection参数方向可以省略参数方向可以省略SizeSize参数大小可以省略参数大小可以省略ValueValue参数值参数值参数说明参数说明参数说明参数说明 变长字符串变长字符串200200双精度双精度5 5单精度单精度4 4整数类型整数类型3 3时间日期类型时间日期类型135135说明说明取值取值取值取值说明说明1 1传入(默认值)传入(默认值)2 2传出传出3 3传入传出传入传出示例示例示例示例1.1.首先创建数据库中的查询,查询使用参数,首先创建数据库
36、中的查询,查询使用参数,例如例如:select*from xsxx where xm=xsxm,select*from xsxx where xm=xsxm,其中其中xsxmxsxm为为参数名称。参数名称。保存查询名称为保存查询名称为xmcxxmcx。2.2.在网页中创建在网页中创建connectionconnection对象,对象,commandcommand对象,然后创对象,然后创建参数对象。建参数对象。示例示例示例示例3.3.创建参数对象创建参数对象%_direction,prm_size,prm_value)%2.2.添加到参数对象集合添加到参数对象集合添加到参数对象集合添加到参数对象
37、集合 nCommandCommand对象拥有一个参数集合对象拥有一个参数集合ParametersParameters,必须,必须把创建的参数加入到参数集合中。参数集合把创建的参数加入到参数集合中。参数集合ParametersParameters的方法的方法AppendAppend可以增加参数,语法为:可以增加参数,语法为:CommandCommand对象对象.Parameters.Append Parameter.Parameters.Append Parameter对象对象n例如:把上例中创建的参数加入到例如:把上例中创建的参数加入到CommandCommand对象的对象的参数集合中,代码如
38、下:参数集合中,代码如下:9.3.6Command9.3.6Command对象操作示例对象操作示例对象操作示例对象操作示例1.查询操作查询操作2.增加操作增加操作3.删除操作删除操作4.更新操作更新操作9.4Recordset9.4Recordset对象对象对象对象如果如果CommandCommand对象对数据库执行的是查询操作,那么从数对象对数据库执行的是查询操作,那么从数据库中返回到据库中返回到ASPASP文件的查询结果要创建文件的查询结果要创建recordsetrecordset对象来对象来接受。接受。RecordsetRecordset对象和前面介绍的数据库中的表有相似对象和前面介绍的
39、数据库中的表有相似的地方,由字段名构成记录集的结构,下面是数据区域,的地方,由字段名构成记录集的结构,下面是数据区域,如图所示。如图所示。数据区域有两个特殊的位置数据区域有两个特殊的位置bofbof和和eofeof,bofbof是记录集数据是记录集数据区域的开始,区域的开始,eofeof是记录集数据区域的结尾,中间位置是是记录集数据区域的结尾,中间位置是记录的集合。在数据区域中存在一个指针,指针可以在记录的集合。在数据区域中存在一个指针,指针可以在bofbof、eofeof和记录间移动。当指针指向一条记录时,那条记和记录间移动。当指针指向一条记录时,那条记录就是当前记录,只能对当前记录操作,任
40、何时候当前记录就是当前记录,只能对当前记录操作,任何时候当前记录只能有一条。录只能有一条。RecordsetRecordset对象示意图对象示意图对象示意图对象示意图9.4.19.4.1创建创建创建创建RecordsetRecordset对象对象对象对象n前面我们介绍一种简单的前面我们介绍一种简单的recordsetrecordset对象创建的方法,由对象创建的方法,由CommandCommand对象的对象的executeexecute方法执行,直接创建。语法为:方法执行,直接创建。语法为:Set RecordsetSet Recordset对象对象=Command=Command对象对象.e
41、xecute.executen这种方法中这种方法中RecordsetRecordset对象的属性采用的默认值,不能完全对象的属性采用的默认值,不能完全使用使用RecordsetRecordset对象的功能。下面提供另外的使用方法:创对象的功能。下面提供另外的使用方法:创建建RecordsetRecordset对象对象,然后设置对象对象,然后设置RecordsetRecordset对象的属性,对象的属性,最后执行最后执行RecordsetRecordset对象的方法。对象的方法。n首先介绍首先介绍RecordsetRecordset对象的创建方法,对象的创建方法,RecordsetRecords
42、et对象的创对象的创建和建和connectionconnection对象,对象,CommandCommand对象的创建相似,要使用对象的创建相似,要使用serverserver对象的对象的CreateobjectCreateobject方法。语法为:方法。语法为:%Set Recordset)%9.4.2Recordset9.4.2Recordset对象的属性对象的属性对象的属性对象的属性nSourceSource:用于设置数据库的查询信息,可以是:用于设置数据库的查询信息,可以是SQLSQL语语句、表或查询。语法为:句、表或查询。语法为:Recordset Recordset 对象对象.So
43、urce=SQL.Source=SQL语句、表和查询语句、表和查询nActiveconnectionActiveconnection:用于设置数据库的连接信息,可:用于设置数据库的连接信息,可以是数据源、连接字符串或者以是数据源、连接字符串或者connectionconnection对象。其中对象。其中connectionconnection对象必须已经打开。语法为:对象必须已经打开。语法为:Recordset Recordset 对象对象.Activeconnection=.Activeconnection=数据源、连接字符数据源、连接字符串或者串或者connectionconnection
44、对象对象9.4.2Recordset9.4.2Recordset对象的属性对象的属性对象的属性对象的属性nCursortypeCursortype:设置记录集中指针的类型。语法为:设置记录集中指针的类型。语法为:Recordset Recordset 对象对象.Cursortype=.Cursortype=取值取值 CursortypeCursortypeCursortypeCursortype取值取值取值取值取值取值说明说明0 0向下指针,只能利用向下指针,只能利用movenextmovenext方法方法向下移动,默认值。向下移动,默认值。1 1键盘指针,可以向下向上移动。能键盘指针,可以向
45、下向上移动。能够看到其他用户所做的修改,但是够看到其他用户所做的修改,但是看不到增加和删除的记录。看不到增加和删除的记录。2 2动态指针,可以向下向上移动。能动态指针,可以向下向上移动。能够看到其他用户所做的增加,删除够看到其他用户所做的增加,删除和修改的记录。和修改的记录。3 3静态指针,可以向下向上移动。不静态指针,可以向下向上移动。不能看到其他用户所做的修改,增加能看到其他用户所做的修改,增加和删除的记录。和删除的记录。RecordsetRecordset对象的属性对象的属性对象的属性对象的属性nBofBof:该属性用于判断指针当前是否在记录集的开头,如果:该属性用于判断指针当前是否在记
46、录集的开头,如果在开头返回在开头返回truetrue,否则返回,否则返回falsefalse。语法为:。语法为:Recordset Recordset 对象对象.Bof.BofnEofEof:该属性用于判断指针当前是否在记录集的结尾,如果:该属性用于判断指针当前是否在记录集的结尾,如果在结尾返回在结尾返回truetrue,否则返回,否则返回falsefalse。语法为:。语法为:Recordset Recordset 对象对象.Eof.Eofn当当BofBof和和EofEof取值都为取值都为truetrue时,记录集为空,因此可以使用这时,记录集为空,因此可以使用这种方法判断记录集是否为空集,
47、不为空对应的代码位为:种方法判断记录集是否为空集,不为空对应的代码位为:%If not dbrs.bof and not brs.eof thenend if%RecordsetRecordset对象的属性对象的属性对象的属性对象的属性nRecordcountRecordcount:返返回回记记录录集集中中记记录录总总数数。该该属属性性要要求求CursortypeCursortype属性为属性为1 1或者或者3 3,否则出错。,否则出错。9.4.4Recordset9.4.4Recordset对象的方法对象的方法对象的方法对象的方法RecordsetRecordset对象方法比较多,这里选取了
48、常用的方法,对象方法比较多,这里选取了常用的方法,并分成两组:基本方法和记录定位方法。首先介绍基本方法。并分成两组:基本方法和记录定位方法。首先介绍基本方法。nOpenOpen方法:打开记录集,设置完成记录集的属性,可以打开方法:打开记录集,设置完成记录集的属性,可以打开记录集。打开记录集时,如果记录集不空,指针指向第一条记记录集。打开记录集时,如果记录集不空,指针指向第一条记录;为空时,录;为空时,bofbof和和eofeof重合,指针指向同一位置。语法为:重合,指针指向同一位置。语法为:Recordset Recordset 对象对象.open.opennCloseClose方法:关闭记录
49、集,不再使用时及时关闭。语法为:方法:关闭记录集,不再使用时及时关闭。语法为:Recordset Recordset 对象对象.close.closeRecordset Recordset 对象的用法很灵活,这里介绍两种常用的方法:对象的用法很灵活,这里介绍两种常用的方法:使用使用commandcommand对象直接创建对象直接创建使用使用openopen方法打开记录集方法打开记录集1.1.使用使用使用使用commandcommand对象直接创建对象直接创建对象直接创建对象直接创建 n这种方法前面已经介绍过,使用这种方法前面已经介绍过,使用commandcommand对象的对象的execute
50、execute方法,直接创建一个方法,直接创建一个RecordsetRecordset对象。语法对象。语法为:为:Set RecordsetSet Recordset对象对象=Command=Command对象对象.execute.executen此时此时RecordsetRecordset对象对象的属性都是默认值,因此功对象对象的属性都是默认值,因此功能弱一些。能弱一些。2.2.使用使用使用使用openopen方法打开记录集方法打开记录集方法打开记录集方法打开记录集n这种方法首先设置这种方法首先设置RecordsetRecordset的属性,然后执行的属性,然后执行openopen方法。方法