《第七章使用对象精选文档.ppt》由会员分享,可在线阅读,更多相关《第七章使用对象精选文档.ppt(30页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第七章使用对象第七章使用对象本讲稿第一页,共三十页目录 第1章 ASP使用基础 第2章 HTML语言 第3章 VBScript语言 第4章 使用ASP对象 第5章 使用ASP组件 第7章 使用ADO对象 第7章 设计实例本讲稿第二页,共三十页第7章 使用ADO对象 7.1 使用Connection对象 7.2 使用Recordset对象 7.3 使用Command对象本讲稿第三页,共三十页第7章 使用ADO对象7.1 使用使用Connection对象对象Connection对象代表了打开的、与数据源的连接,该对象代表与数据源进行的唯一会话。如果是客户端/服务器数据库系统,该对象等价于到服务器的
2、实际网络连接。使用该对象可以实现与Microsoft SQL Server和Microsoft Access等数据库的连接,也可以通过SQL语句对所连接的数据库进行各种各样的操作。第7章目录本讲稿第四页,共三十页第7章 使用ADO对象7.1.1 创建数据库连接创建数据库连接1.创建创建Connection对象实例对象实例在使用ADO Connection对象之前,应使用Server.CreateObject方法创建该对象的实例,语法格式如下:第7章目录本讲稿第五页,共三十页第7章 使用ADO对象7.1.1 创建数据库连接创建数据库连接2.指定连接字符串指定连接字符串-ConnectionStr
3、ing属性属性Connection对象的对象的ConnectionString属性可以包含用来建立属性可以包含用来建立数据库连接的信息。数据库连接的信息。该属性的取值是一个字符串,通常称为连接字符串,包含一系该属性的取值是一个字符串,通常称为连接字符串,包含一系列的列的“参数参数=值值”语句,各个语句用分号分隔。语句,各个语句用分号分隔。例如,当在例如,当在ASP中访问中访问Access数据库时,可以在连接字符数据库时,可以在连接字符串中包含串中包含DRIVER和和DBQ两个参数,分别指定所用的数据两个参数,分别指定所用的数据库驱动程序和要连接的库驱动程序和要连接的Access数据库文件的路径
4、。例如:数据库文件的路径。例如:第7章目录本讲稿第六页,共三十页第7章 使用ADO对象7.1.1 创建数据库连接创建数据库连接3.打开数据库连接打开数据库连接-Open方法方法使用使用Connection对象的对象的Open方法可以建立到数据库的物理方法可以建立到数据库的物理连接,语法:连接,语法:connection.Open ConnectionString,UserID,Password,OpenOptions所有参数都是可选的。其中所有参数都是可选的。其中ConnectionString指定连接字符指定连接字符串。串。UserID指定建立连接时所使用的用户名称。指定建立连接时所使用的用
5、户名称。Password指定建立连接时所用密码。指定建立连接时所用密码。OpenOptions参数可以设置异步打开连接。参数可以设置异步打开连接。常使用:常使用:cnn.open第7章目录本讲稿第七页,共三十页第7章 使用ADO对象4.检查检查Connection对象的状态对象的状态-State属性属性使用使用Connection对象的对象的State属性可以检查该对象的当前状属性可以检查该对象的当前状态,该属性返回值是下列常量之一:态,该属性返回值是下列常量之一:vadStateClosed:表示该对象是关闭的。:表示该对象是关闭的。vadStateOpen:表示该对象是打开的。:表示该对象
6、是打开的。以上前面带以上前面带ad的符号常量包含在文件的符号常量包含在文件adovbs.inc中,路径为:中,路径为:Program FilesCommon FilesSystemado adovbs.inc,该文,该文件包含与件包含与ADO一起使用的符号常量的定义清单。一起使用的符号常量的定义清单。要使用这些符号常量,将要使用这些符号常量,将adovbs.inc文件复制到站点主目录文件复制到站点主目录下,并使用下,并使用#include指令将该文件包含到指令将该文件包含到ASP页中。页中。第7章目录本讲稿第八页,共三十页第7章 使用ADO对象5.关闭数据库连接关闭数据库连接-Close方法方
7、法在对打开的在对打开的Connection对象的操作结束后,对象的操作结束后,使用使用Close方法释放所有关联的系统资源。语方法释放所有关联的系统资源。语法格式如下:法格式如下:cnn.Close其中其中cnn参数指定参数指定Connection对象的名称。对象的名称。需要说明的是,关闭对象并非将它从内存中需要说明的是,关闭对象并非将它从内存中删除,此时可以更改它的属性设置并在以后删除,此时可以更改它的属性设置并在以后再次使用再次使用Open方法打开它。方法打开它。要将对象完全从内存中删除,可以将对象变要将对象完全从内存中删除,可以将对象变量设置为量设置为Nothing。Set cnn=no
8、thing第7章目录本讲稿第九页,共三十页第7章 使用ADO对象7.1.2 使用连接字符串连接使用连接字符串连接sqlserver数据库数据库将所有连接信息直接保存在连接字符串,应当在连接字符将所有连接信息直接保存在连接字符串,应当在连接字符串中包含以下四个参数:串中包含以下四个参数:DRIVER参数指定所用的参数指定所用的ODBC驱动程序驱动程序UID和和PWD给出用户标识和密码给出用户标识和密码DATABASE参数指定要连接的数据库,脚本如下:参数指定要连接的数据库,脚本如下:【例例7.1 sqlodbc-connect.asp】演示演示第7章目录本讲稿第十页,共三十页第7章 使用ADO对
9、象7.1.3 对对Access数据库创建数据库创建ODBC连接连接使用ODBC驱动程序对Access数据库创建连接时,可以使用三种方式来保存连接信息:v创建系统数据源,将连接信息保存在Windows注册表中v创建文件数据源,将连接信息保存在文本文件中v将连接信息保存在字符串中,直接包含在ASP脚本中 创建系统数据源和文件数据源演示第7章目录本讲稿第十一页,共三十页第7章 使用ADO对象3、使用连接字符串使用DRIVER参数指定所使用的ODBC驱动程序使用DBQ参数指定要连接的Access数据库:【例例7.1 access-odbc-connect.asp】演示演示第7章目录本讲稿第十二页,共三
10、十页第第7章章 使用使用ADO对象对象7.1.4 使用使用Connection对象执行对象执行SQL查询查询-Execute方法方法使用使用Connection对象的对象的Execute方法还能够执行指定的查询、方法还能够执行指定的查询、SQL语句、存储语句、存储过程等内容。该方法有下列两种语法格式。过程等内容。该方法有下列两种语法格式。l对于不按行返回的命令字符串:对于不按行返回的命令字符串:cnn.Execute CommandText,RecordsAffected,Options l对于按行返回的命令字符串:对于按行返回的命令字符串:Set recordset=cnn.Execute(
11、CommandText,RecordsAffected,Options)CommandText参数包含要执行的参数包含要执行的SQL语句、表名、存储过程或特定提语句、表名、存储过程或特定提供程序的文本。该参数的内容可以是标准的供程序的文本。该参数的内容可以是标准的SQL语法或要查询的表语法或要查询的表名。名。RecordsAffected是可选参数,长整型变量,提供程序向其返回操是可选参数,长整型变量,提供程序向其返回操作所影响的记录数目。作所影响的记录数目。Options也是可选参数,指示提供程序应如何为也是可选参数,指示提供程序应如何为CommandText参数赋参数赋值,可以取下列符号常
12、量之一。值,可以取下列符号常量之一。vadCmdText:指示提供程序应将:指示提供程序应将CommandText赋值为命令的文本定赋值为命令的文本定义。义。vadCmdTable:指示提供程序应将:指示提供程序应将CommandText赋值为表名。赋值为表名。第7章目录本讲稿第十三页,共三十页第第7章章 使用使用ADO对象对象7.1.4 使用使用Connection对象执行对象执行SQL查询查询 对于不按行返回的命令字符串对于不按行返回的命令字符串(常用语法格式(常用语法格式)(1)Sql=“insert.”cnn.Execute sql,adcmdtext 或者或者(2)cnn.Execu
13、te“insert”,adcmdtext 第一种方式比较常用第一种方式比较常用第7章目录本讲稿第十四页,共三十页第第7章章 使用使用ADO对象对象使用使用Connection对象执行对象执行SQL查询代码步骤:查询代码步骤:l1、创建、创建connection对象实例对象实例l2、使用使用Connection对象的对象的Connectionstringl3、使用使用Connection对象的对象的Open建立到指建立到指 定数据库的连接定数据库的连接l4、将、将SQL语句作为语句作为CommandText参数参数 的值,即写的值,即写SQL语句语句l5、使用、使用Execute方法执行方法执行
14、SQL语句语句第7章目录本讲稿第十五页,共三十页第第7章章 使用使用ADO对象对象使用使用Connection对象执行对象执行SQL查询代码步骤:查询代码步骤:lSet cnn=Server.CreateObject(ADODB.Connection)lcnn.ConnectionString=DRIVER=Microsoft Access Driver(*.mdb);DBQ=&Server.MapPath(“xiaofeng.mdb)lcnn.OpenlSQL=insert into Users(UserName,Password)values(&UserName&,&Password&)l
15、cnn.Execute sql,adcmdtext 第7章目录本讲稿第十六页,共三十页第第7章章 使用使用ADO对象对象1.创建新数据库创建新数据库-手动完成手动完成 CREATE DATABASE database_name 具体应用:手动方式创建一个数据库。对于具体应用:手动方式创建一个数据库。对于access数据库,数据库文数据库,数据库文件为件为.mdb 2.创建新表创建新表-手动完成手动完成在在SQL语言中,使用语言中,使用CREATE TABLE语句创建一个新表。语法如下:语句创建一个新表。语法如下:CREATE TABLE table_name(column_name data_
16、type,column_name data_type,.)例如:例如:sql=CREATE TABLE Users(UserName varchar(10),Password varchar(12)cnn.Execute sql,adcmdtext 【例例7.3】演示演示第7章目录本讲稿第十七页,共三十页第第7章章 使用使用ADO对象对象3.添加记录添加记录-INSERT语句语句insert into table_name(column_list)values(expression,.n)table_name指定将要接收数据的表。指定将要接收数据的表。into是一个可选的关键字。是一个可选的关
17、键字。column_list是要在其中插入数据的一列或多列的列表,必须用圆括号是要在其中插入数据的一列或多列的列表,必须用圆括号将将column_list括起来,并且用逗号进行分隔。括起来,并且用逗号进行分隔。values给出引入要插入的数据值的列表,必须用圆括号将值列表括给出引入要插入的数据值的列表,必须用圆括号将值列表括起来。起来。expression是一个常量、变量或表达式。是一个常量、变量或表达式。例如:例如:SQL=insert into Users(UserName,Password)VALUES(hu,aa)SQL=insert into Users(UserName,Passw
18、ord)values(&UserName&,&Password&)cnn.Execute sql,adcmdtext 【例例insert】演示演示第7章目录本讲稿第十八页,共三十页第第7章章 使用使用ADO对象对象4.更新记录更新记录-update语句语句update tablename set column_name=expression,.n where tablename给出需要更新的表的名称。给出需要更新的表的名称。set子句指定要更新的列名称的列表。子句指定要更新的列名称的列表。column_name指定含有要更改数据的列的名称。指定含有要更改数据的列的名称。expression的值
19、用于代替列中原有的值。的值用于代替列中原有的值。where子句指定要更新表中的哪些记录。如果省略子句指定要更新表中的哪些记录。如果省略WHERE子句,则表中所有记录都将被更改为子句,则表中所有记录都将被更改为SET子句指定的数子句指定的数据。据。例如:例如:SQL=update users set password=222 where username=111 SQL=update users set password=&password&where username =&username&cnn.Execute sql,adcmdtext【例例7.7】演示演示 【例例update】演示演示
20、第7章目录本讲稿第十九页,共三十页第第7章章 使用使用ADO对象对象5.删除记录删除记录-delete语句语句delete from table_name where 其中其中table_name指定要删除记录的表的名称。指定要删除记录的表的名称。where子句指定用于限制删除行数的条件。如子句指定用于限制删除行数的条件。如果没有提供果没有提供where子句,则子句,则delete删除表中的删除表中的所有记录。所有记录。例如:例如:SQL=“delete from users where username=111 SQL=delete from users where username=&us
21、ername&cnn.Execute sql,adcmdtext 【例例7.7】演示演示 【例例delete】演示演示 第7章目录本讲稿第二十页,共三十页第第7章章 使用使用ADO对象对象7.2 使用使用Recordset对象对象Recordset对象表示的是来自基本表或命令执行结果对象表示的是来自基本表或命令执行结果 的记录全集。的记录全集。使用使用Recordset对象主要用来存储对象主要用来存储select 结果返回的记结果返回的记 录,所有录,所有Recordset对象均使用记录(行)和字段对象均使用记录(行)和字段(列)进行构造。(列)进行构造。如果如果sql语句是语句是select
22、按行返回的查询,执行产生的任按行返回的查询,执行产生的任 何结果将存储在新的何结果将存储在新的Recordset对象中。对象中。7.2.1 创建和访问记录集创建和访问记录集1.用用Connection对象的对象的Execute方法返回记录集方法返回记录集当调用当调用Connection对象的对象的Execute方法时,如果方法时,如果sql语语 句是句是select按行返回的查询,执行产生的任何结果将按行返回的查询,执行产生的任何结果将 存储在新的存储在新的Recordset对象中。对象中。第7章目录本讲稿第二十一页,共三十页第第7章章 使用使用ADO对象对象7.2.1 创建和访问记录集创建和
23、访问记录集1.用用Connection对象的对象的Execute方法返回记录集方法返回记录集 例子:例子:第7章目录本讲稿第二十二页,共三十页第第7章章 使用使用ADO对象对象2.用用Recordset对象的对象的Open方法打开记录集方法打开记录集使用使用Recordset对象的对象的Open方法打开一个记录方法打开一个记录 集。语法格式如下:集。语法格式如下:rs.Open Source,ActiveConnection,CursorType,LockType其中参数其中参数Source为为Command对象变量名、对象变量名、SQL语句、表名。主要使用语句、表名。主要使用sql语句。语句
24、。ActiveConnection为有效的为有效的Connection对象变对象变 量名。量名。CursorType指定打开指定打开Recordset时应使用的游时应使用的游 标类型。(常省略)标类型。(常省略)LockType指定打开指定打开Recordset时应使用的锁定时应使用的锁定 类型。类型。(常省略)(常省略)第7章目录本讲稿第二十三页,共三十页第第7章章 使用使用ADO对象对象2.用用Recordset对象的对象的Open方法打开记录集方法打开记录集例如:例如:第7章目录本讲稿第二十四页,共三十页第第7章章 使用使用ADO对象对象检索记录检索记录-SELECT语句语句在在SQL语
25、言中,使用语言中,使用SELECT语句从表中检索数据语句从表中检索数据FROM子句指定从其中检索数据的表子句指定从其中检索数据的表WHERE子句指定用于限制返回的行的搜索条件子句指定用于限制返回的行的搜索条件ORDER BY子句设置结果集的排序方式等子句设置结果集的排序方式等SQL=“select*from user where username=xiaofeng(order by id desc)”SQL=“select*from user where username=”&username&”(order by id desc)”第7章目录本讲稿第二十五页,共三十页第第7章章 使用使用AD
26、O对象对象3.访问字段值访问字段值 rs(“字段名字段名”)每个每个Recordset对象都包含一个对象都包含一个Fields集合,集合,该集合由一些该集合由一些Field对象组成。对象组成。每个每个Field对象对应于记录集内的一列,也就对象对应于记录集内的一列,也就是数据库表中的一个字段。是数据库表中的一个字段。使用使用Field对象的对象的Value属性可以设置或返回属性可以设置或返回当前记录中的字段值,使用当前记录中的字段值,使用Field对象的对象的 Name属性可以返回字段名。属性可以返回字段名。返回输出数据表里的返回输出数据表里的username字段的值:是变量字段的值:是变量
27、rs(“username)rs.Fields(username)rs.Fields(username).Value 第7章目录本讲稿第二十六页,共三十页第第7章章 使用使用ADO对象对象4.关闭记录集关闭记录集-Rs.close创建记录集并执行所需操作后,可以使用创建记录集并执行所需操作后,可以使用 Close方法关闭方法关闭Recordset对象,同时释放相关对象,同时释放相关 联的数据和可能已经通过该特定联的数据和可能已经通过该特定Recordset对对 象对数据进行的独立访问。象对数据进行的独立访问。Rs.close【例例7-8 list-recor(2)111.asp】演示演示第7章目
28、录本讲稿第二十七页,共三十页第第7章章 使用使用ADO对象对象7.2.2 设置游标特性和锁定类型设置游标特性和锁定类型1.设置游标的类型设置游标的类型使用使用CursorType属性可以指定打开属性可以指定打开Recordset对象时对象时 该使用的游标类型,该属性取值为下列值之一:该使用的游标类型,该属性取值为下列值之一:vadOpenForwardOnly:表示仅向前游标(默认:表示仅向前游标(默认 值),只能在值),只能在Recordset中向前滚动。中向前滚动。vadOpenKeyset:表示键集游标,允许:表示键集游标,允许Recordset中各中各 种类型的移动。种类型的移动。va
29、dOpenDynamic:表示动态游标,用于不依赖书签:表示动态游标,用于不依赖书签 的的Recordset中各种类型的移动。如果提供者支持,可中各种类型的移动。如果提供者支持,可 以使用书签。以使用书签。vadOpenStatic:表示静态游标,也允许表示静态游标,也允许Recordset中各中各 种类型的移动,支持书签。种类型的移动,支持书签。第7章目录本讲稿第二十八页,共三十页第第7章章 使用使用ADO对象对象2、统计记录集内包含的记录数、统计记录集内包含的记录数使用使用Recordset对象的对象的RecordCount属性可以确定属性可以确定 Recordset对象中记录的当前数目。
30、对象中记录的当前数目。仅静态游标和键集游标支持仅静态游标和键集游标支持RecordCount属性。当属性。当 ADO无法确定记录数时,该属性返回无法确定记录数时,该属性返回-1。【例例7.9】演示演示7.2.3 记录导航记录导航当打开一个非空记录集时,当前记录总是位于第一行当打开一个非空记录集时,当前记录总是位于第一行 记录上。使用记录上。使用Recordset对象的下列属性或方法可以在对象的下列属性或方法可以在 不同记录之间移动。不同记录之间移动。BOF属性属性:如果当前记录在第一条记录之前,则该属:如果当前记录在第一条记录之前,则该属 性值为性值为TrueEOF属性属性:如果当前记录在最后
31、一条记录之后,则该:如果当前记录在最后一条记录之后,则该 属性值为属性值为True常用于判断循环:常用于判断循环:while not rs.eof第7章目录本讲稿第二十九页,共三十页第第7章章 使用使用ADO对象对象7.2.4 分页显示记录分页显示记录1.使用使用PageSize属性指定一页中的记录数属性指定一页中的记录数使用使用PageSize属性设置或返回指定某页上的记录数,属性设置或返回指定某页上的记录数,默认值默认值10。2.使用使用PageCount属性返回总页数属性返回总页数使用使用PageCount属性可以确定属性可以确定Recordset对象中数据的对象中数据的 页数。页数。“
32、页页”是大小等于是大小等于PageSize属性设置的记录组。属性设置的记录组。3.使用使用AbsolutePage属性指定当前记录所在的页属性指定当前记录所在的页使用使用AbsolutePage属性设置或返回从属性设置或返回从1到该对象所含到该对象所含 页数(即页数(即PageCount)的值。)的值。AbsolutePage属性可以属性可以 识别当前记录所在的页码,可以使用该属性将记录集识别当前记录所在的页码,可以使用该属性将记录集 从逻辑上划分为一系列的页,每页的记录数等于从逻辑上划分为一系列的页,每页的记录数等于 PageSize。设置该属性可以移动到特定页的第一个记。设置该属性可以移动到特定页的第一个记 录录【例例7.11 page(2).asp】【】【例例7.11 page(4).asp】演示演示第7章目录本讲稿第三十页,共三十页