ASP 授课教案23
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
6.1 ADO数据访问接口概述
使用 ADO (A ctiveX D ata O bject,ActiovX 数据对象),可以对几乎所有数据库(如 Microsoft
多媒体讲解Access,Microsoft SQL Server 和 Oracle 等)进行读取和写入。
ADO 常用的四种对象及其功能:
•连接对象(Connection):用来连接数据库。
•记录集对象(RecordSet):用来保存查询语句返回的结果。
•命令对象(Command):用来执行 SQL 语句或者 SQL Server 的存储过程。
•参数对象(Parameter):用来为存储过程或查询提供参数。
6.2 Connection数据对象
与数据库的所有通信都通过一个打开的 Connection 对象进行。对一个数据库进行数据的插
入和读取之前,必须先打开数据库连接。
当使用 ADO 打开数据库的时候,会有一个指针指向某一行记录,默认的情况下,该指针指向
数据库的第一行。假定该指针为“rs“,如果要访问数据库表的字段,可以用下图所示的方法。
多媒体讲解,举例
讲解,对比讲解
6.2.1 打开和关闭数据库连接
要建立与一个数据库的连接,首先创建 Connection 对象的一个实例,然后调用 Connection 对象的 Open 方法打开一个连接,并通过程序 6-01.asp 输出数据库表头。
实例:输出数据库的表头(6-01.asp)
- " & rs(I).Name)
Next
conn.close()
%>
<%
set conn = Server.CreateObject("ADODB.Connection")
conn.Open("driver={Microsoft Access Driver (*.mdb)};dbq=" &_
Server.MapPath("person.mdb"))
set rs = conn.Execute( "SELECT * FROM grade" )
For I = 0 to rs.Fields.Count - 1
Response.Write("
本例子解析:
(1)利用 Connection 对象的 Open 方法打开当前目录下的 person.mdb 文件。
(2)然后执行一个 SQL 语句中的 grade 是一个表名。
(3)rs.Fields.Count 返回数据表的列数。
(4)程序需要折行使用符号“ &_ ”连接。
思考:1. 运行6-01.asp,浏览器输出结果是什么?
2. 在6-02.asp的For语句中,把“rs(I).Name”改成“rs(I)”,浏览器输出什么?
解答:1. 浏览器输出表头和第一条记录:
•学号
•性别
•姓名
•语文
•数学
•英语
2. 浏览器输出表头和第一条记录:
•14
•男
•小周
•50
•200
•80 课本实例讲解,多媒体讲解
一步步提示,举例讲解,对比讲解,多媒体讲解
分析,多媒体讲解
提醒学生这个格式要掌握
格式一:数据库调用的基本格式
格式说明:利用 Execute 方法执行 SQL 语句
第一步:建立 Connection 对象
set conn = Server.CreateObject("ADODB.Connection")第二步:使用 Connection 对象的 Open 方法建立数据库连接
conn.Open("driver={Microsoft Access Driver (*.mdb)};dbq=" &_ Server.MapPath("person.mdb"))
第三步:使用 Connection 对象的 Execute 方法执行 SQL 语句
‘如果执行查询语句
set rs = conn.Execute("数据查询语句")
'如果执行数据操纵语句
conn.Execute("数据操纵语句")
6.2.3 向浏览器输出数据库内容
实例:输出第一条记录(6-02.asp)
- " & rs(I).Name & " = " & rs(I))
Next
conn.close()
%>
<%
set conn = Server.CreateObject("ADODB.Connection")
conn.Open("driver={Microsoft Access Driver (*.mdb)};dbq=" &_
Server.MapPath("person.mdb"))
set rs = conn.Execute( "SELECT * FROM grade" )
For I = 0 to rs.Fields.Count - 1
Response.Write("
本例子解析:
(1)本例输出数据表的表头和第一条记录。
(2)数据库第一次打开时,这个指针定位在第一行,用 MoveNext( ) 向后移动指针。
思考:1. 运行6-02.asp,浏览器输出结果是什么?
2. 在6-02.asp的For语句之前加入语句“rs.MoveNext( )”,浏览器输出什么?
3. 可以用表格的形式输出记录么?
解答:1. 浏览器输出表头和第一条记录:
•学号 = 14
•性别 = 男
•姓名 = 小周
•语文 = 50
•数学 = 200
•英语 = 80
2. 浏览器输出表头和第二条记录:
•学号 = 15
•性别 = 女
•姓名 = 小刘
•语文 = 500
•数学 = 100
•英语 = 1000
3. 可以,请参考课本101页的案例5-01.asp的输出代码。
6.2.4 输出所有数据
本节主要学习使用的三条语句:
•rs.MoveNext( ):移动到下一条记录。
•rs.BOF:Begin Of File ,文件开头,用于判断记录指针是否移动最前面,理解其的位置为第一条记录之前。如果数据表中没有记录,rs.BOF 为真。
•rs.EOF:End Of File ,文件结尾,用于判断记录指针是否移动最后面,理解其的位置为最后一条记录之后。若 rs 指针在最后一条记录上,再执行一次 movenext时,则rs.EOF 为真。课本实例讲解,多媒体讲解
一步步提示,举例讲解,对比讲解,多媒体讲解