ASP 授课教案23

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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)

    <%

    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("

  • " & rs(I).Name)

    Next

    conn.close()

    %>

本例子解析:

(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)

    <%

    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("

  • " & rs(I).Name & " = " & rs(I))

    Next

    conn.close()

    %>

本例子解析:

(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 为真。课本实例讲解,多媒体讲解

一步步提示,举例讲解,对比讲解,多媒体讲解

相关文档
最新文档