ASP动态网页设计实用教程 主讲教师: 开课单位:
第9章 Web数据库的基本操作 主要内容 学习目标 新课讲授 本章小结 本章习题 返回
本章主要内容 ADO组件是ASP访问数据库最方便最实用的工具。本章首先介绍ADO的基本结构,然后解讲如何创建数据源DSN,以及如何使用ADO组件的三个对象Connection、Command和Recondset访问数据库。要求学生能在ASP网页中正确掌握此三个对象的使用方法,结合前一章讲解的SQL结构化查询语言,实现对数据库的各种操作。 目录页
本章学习目标 了解ADO的基本结构。 掌握Condection对象连接数据源。 掌握RecondSet对象处理数据库中的数据。 掌握Command对象执行数据操作。 目录页
第9章 Web数据库的基本操作 9.1 ADO的基本结构 9.2使用Connection对象连接数据源 9.3使用Recondset对象处理数据 9.4使用Command对象执行数据操作 9.5 小结 目录页
9.1 ADO的基本结构 9.1.1 什么是ADO ADO全称为ActiveX Data Object,是Microsoft为数据库应用程序开发的一项数据库访问技术。它提供了网页开发人员实时存取数据库的能力。在数据库的应用中,使用ADO编写的应用程序可以存取Internet上任何地方的数据资源。
ADO提供的对象
9.1.2 数据库驱动程序 在ASP中为了访问数据库中的数据,仅使用ADO对象是不行的。除了ADO对象之外我们还要有ODBC或OLE DB驱动程序,因为我们存取任何一种数据库都必须有其对应的ODBC驱动程序,ADO对象才能够对数据库的文件作存取的动作! ADO对象与ODBC或OLE DB驱动程序关系如下图9.1所示。 图9.1 ADO与数据库驱动程序的关系
9.1.3 搭建DSN桥梁 一个DSN主要包含如下一些信息。 ODBC驱动程序类型:只有指出驱动程序类型,在操作数据库时,系统才会知道调哪个ODBC驱动程序来服务。 数据库:必须指定这座桥到底连接的是哪个数据库,但不同的数据库系统指定数据库名字的方法有些不同。
9.2使用Connection对象连接数据源 9.2.1 使用 Access建立一个数据库文件 9.2.2 创建Connection对象实例 1.打开与关闭数据库连接 要打开数据库,首先要创建Connection对象的一个实例,然后调用Connection对象的“Open”方法来连接数据库,当结束数据库的操作之后,再调用Connection对象的“Close”方法关闭数据库的连接。 ⑴ 创建Connection对象实例 ⑵ 连接数据源 ⑶ 关闭数据源
2.通过打开的连接执行SQL语句 Insert语句语法格式为: Insert Into 表名(字段名表)Values (相应的字段值) 查询语句Select的语法格式如下: Select 字段1,字段2,… From 表名 [Where 条件表达式] [Order By 排序选项] 更新语句Update的语法格式如下: Update 表名 Set 字段名1=value1 [,字段名2=value2]… Where 条件 删除语句Delete的语法格式如下: Delete from 表名 Where 条件
3.使用ConnectionTimeout属性设置连接超时 用Connection对象的ConnectionTimeout属性,可以限制放弃连接尝试并发出错误消息之前应用程序等待的时间。例如,下面的脚本设置ConnectionTimeout属性,在取消连接尝试之前等待20秒: Set conn=Server.Create(“ADODB.Connection”) conn.ConnectionTimeout=20 conn.Open “DSN=ql;”
9.3使用Recondset对象处理数据 9.3.1 创建Recordset对象实例 ⑴ 使用Server.CreateObject方法显示地创建Recordset对象实例,如下面代码所示: <% Set rs=Server.CreateObject("ADODB.Recordset") rs.Open "数据查询SQL语句","数据库ODBC中数据源名称" %> ⑵ 使用Connection.Execute方法隐式地创建Recordset对象实例,如下面代码所示: Set conn=Server.CreateObject("ADODB.Connection") conn.Open "DSN=ql;" StrSQL="select * from S1" Set rs=conn.Execute (strSQL) '创建Recordset对象实例rs
9.3.2 Recordset对象的方法 1.打开、关闭方法 ⑴ Open方法 Recordset.Open [Source], [Activeconnection], [Cursor Type], [LockType], [Option] ⑵ Close方法 该方法用于关闭RecordSet对象并释放相关资源。同Connection一样,在调用Set RecordSet=nothing之前,记录集关闭了但依然存在,可以重新打开。
2.用来在记录集中移动或刷新数据的方法 ⑴ MoveFirst方法 该方法把RecordSet中的记录游标移到第一条记录。 ⑵ MoveLast方法 该方法把RecordSet中的记录游标移到最后一条记录。 ⑶ MoveNext方法 该方法把RecordSet中的记录游标向后移动一个记录,但不能无限制地移动,当游标移动到RecordSet最后时,调用此方法会产生错误。因此一般配合判断RecordSet.Eof使用。 ⑷ MovePrevious方法 该方法同MoveNext方法差不多,只是把游标向前移动一个记录,在移动时也要注意不可超出RecordSet的限制。 ⑸ Move方法 该方法将游标能够在记录集中向前或向后移动给定的记录个数,如果想向前移动20个记录,则采用如下句法。 rs.move n, [start] ⑹ Requery方法
3.编辑修改数据的方法 ⑴ AddNew方法 ⑵ Update方法 ⑶ Delete方法 ⑷ CancelUpdate方法 ⑸ UpdateBatch方法 ⑹ NextRecordset方法
9.3.3 Recordset对象的属性 1.CursorType属性
2.LockType属性
3.Filter属性 Filter属性为RecordSet中的数据指定筛选条件。当然大多数时候可以通过SQL代码很容易地对RecordSet中返回的记录进行过滤。 可以使用的Filter基本上是一种简单的条件字符串,它与在SQL Where语句中的用法没什么区别,形式为FieldName-Operator-Value格式(如“Name='TX'”)。可以使用的操作符有<、>、<=、>=、<>、=或Like,通配字符*和%等。 注意: 一旦设置Filter属性,当前记录位置将移动到Recordset中已筛选记录子集中的第一条记录。
Recordset对象的属性 4.CacheSize属性 5.MaxRecords属性 6.BOF和EOF属性 7.RecordCount属性 8.BookMark属性 9. AbsolutePosition属性 10.PageSize属性 11.AbsolutePage属性 12.PageCount属性
13.EditMode属性
14.Status属性
9.3.4 RecordSet对象操作实例 演示书中实例9-5----9-10
9.4使用Command对象执行数据操作 9.4.1 Command对象的创建及工作过程 1.创建Command对象并连接数据库 2.设置数据库操作字符串 3.执行指定操作 cm.parameters.append cm.createparameter(“name",type,direction,size,value)
9.4.2 用Command对象向数据库插入数据 演示书中实例9-11---9-12
9.4.3 用Command对象输出数据库中的数据 演示书中实例9-13---9-14
9.5 小结 本章重点讲解了ADO组件的基本结构及组件中的Connection、Recondset和Command三种对象。并介绍了使用数据源DSN及采用直接驱动的方法连接数据库。本章重点要求熟练掌握Connection和Recondset对象的使用,并给合SQL结构化查询语言实现对数据库的各种操作,能够正确书写ASP网页代码。
第9章 Web数据库的基本操作 The End!