第8章用ASP访问与操作数据库 本章学习要点: ActiveX数据对象 连接对象的基本功能、方法及属性 记录集对象的方法、属性及集合 记录集对象的分页显示功能 命令对象的主要方法及属性 存储过程
第8章 用ASP访问与操作数据库 本章学习要点: ActiveX数据对象 连接对象的基本功能、方法及属性 记录集对象的方法、属性及集合 记录集对象的分页显示功能 命令对象的主要方法及属性 存储过程
I Activex数据对象 本节内容 ●ASP访问数据库的方式 ●ODBC数据源的创建和配置 ●ADO七个对象和四个集合的主要功能 数据库操作的基本步骤
本节内容: l ASP访问数据库的方式 l ODBC数据源的创建和配置 l ADO七个对象和四个集合的主要功能 l 数据库操作的基本步骤 8.1 ActiveX数据对象
>81.1ASP访问数据库的方式 前面已经介绍过,在传统的静态网页中, 访问数据库一般是通过公用网关接口(CGI 来实现,这种方式不仅开发困难,而且在出现 大量并发请求时会显著地降低服务器的运行效 率,而采用ASP实现数据库访问可以说能较好 地解决这个问题。在ASP脚本中可以通过三种 方式访问数据库: ●IDC( Internet Database Connector)方式 ●ADO( ActiveX Data Objects)方式 RDS( Remote data service)方式
➢ 8.1.1 ASP访问数据库的方式 前面已经介绍过,在传统的静态网页中, 访问数据库一般是通过公用网关接口(CGI) 来实现,这种方式不仅开发困难,而且在出现 大量并发请求时会显著地降低服务器的运行效 率,而采用ASP实现数据库访问可以说能较好 地解决这个问题。在ASP脚本中可以通过三种 方式访问数据库: l IDC(Internet Database Connector)方式 l ADO(ActiveX Data Objects)方式 l RDS(Remote Data Service)方式
从概念上来讲,这三种访问方式对数据 库的访问都是由来完成的。Web浏览器用 HTTP协议向IS递交请求。Internet信息服务 器执行访问数据库的操作,并以一个HTML 格式的文档作为回答。 (1) Internet数据库接口(IDC) IDC是一个传统的数据库查询工具,用来 定义和执行数据库查询的SO命令,并向浏 览器返回一个指定数据格式的页面。虽然使 用IDC访问数据库十分简单,几乎不需要编程 就能实现对数据库的访问。但IDC缺乏使用上 的灵活性,IDC只能简单的创建IDC(.idc)
从概念上来讲,这三种访问方式对数据 库的访问都是由IIS来完成的。Web浏览器用 HTTP协议向IIS递交请求。Internet信息服务 器执行访问数据库的操作,并以一个HTML 格式的文档作为回答。 (1)Internet数据库接口(IDC) IDC是一个传统的数据库查询工具,用来 定义和执行数据库查询的SQL命令,并向浏 览器返回一个指定数据格式的页面。虽然使 用IDC访问数据库十分简单,几乎不需要编程 就能实现对数据库的访问。但IDC缺乏使用上 的灵活性, IDC只能简单的创建 IDC(.idc)
文件和HTML扩展文件(hx)两种文件,然 后等待IC文件被请求,分别完成数据库的 访问与输出任务。因此这种方式限制了对数 据库的交互控制,同时IDC还有缺少任何游 标的缺点。 (2) ActiveX数据对象(ADO) 与IDC不同,用ADO访问数据库更类似 于编写数据库应用程序,ADO把绝大部分的 数据库操作封装在七个对象中,在ASP页面 中编程调用这些对象执行相应的数据库操作 ADO是ASP技术的核心之一,它集中体现了 ASP技术丰富而灵活的数据库访问功能
文件和HTML扩展文件(.htx)两种文件,然 后等待IDC文件被请求,分别完成数据库的 访问与输出任务。因此这种方式限制了对数 据库的交互控制,同时IDC还有缺少任何游 标的缺点。 (2)ActiveX数据对象(ADO) 与IDC不同,用ADO访问数据库更类似 于编写数据库应用程序,ADO把绝大部分的 数据库操作封装在七个对象中,在ASP页面 中编程调用这些对象执行相应的数据库操作。 ADO是ASP技术的核心之一,它集中体现了 ASP技术丰富而灵活的数据库访问功能
正是因为使用ADO需要编写脚本程序,所 以ADO能够实现更复杂、更灵活的数据库访 问逻辑。目前,ADO包括 Command、 Connection、 Recordset等七个对象和一个动态 的 Properties集合,绝大部分的数据库访问任务 都可以通过它们的组合来完成。 般使用ADO访问数据库的ASP脚本程 序应该使用 Connection对象建立并管理与远程 数据库的连接;使用 Command对象提供灵活 的査询;而使用 Recordset对象访问数据库查询 所返回的结果。这三者是ADO中最基本也最 核心的对象
正是因为使用ADO需要编写脚本程序,所 以ADO能够实现更复杂、更灵活的数据库访 问逻辑 。 目 前 , ADO 包 括 Command、 Connection、Recordset等七个对象和一个动态 的Properties集合,绝大部分的数据库访问任务 都可以通过它们的组合来完成。 一般使用ADO访问数据库的ASP脚本程 序应该使用Connection对象建立并管理与远程 数据库的连接;使用Command对象提供灵活 的查询;而使用Recordset对象访问数据库查询 所返回的结果。这三者是ADO中最基本也最 核心的对象
(3)远程数据服务(RDS) RDS是IS1.0中新提出的概念,它是由 ASP中原来的 Advanced data connector(ADC 发展而来的。在∏S10中,RDS与ADO集成到 起,使用同样的编程模型,提供访问远程 数据库的功能。 ADO能够提供非常强大的数据库访问功 能,但是它不支持数据远程操作(Data Remoting)。换句话说,ADO只能执行查询 并返回数据库查询的结果,这种结果是静态 的,即客户端需要修改数据库中的数据,必 须通过相应的SQL语句提出修改数据请求,才 能修改服务器端数据库中的内容
(3) 远程数据服务(RDS) RDS是IIS 1.0中新提出的概念,它是由 ASP中原来的Advanced Data Connector(ADC) 发展而来的。在IIS 1.0中,RDS与ADO集成到 一起,使用同样的编程模型,提供访问远程 数据库的功能。 ADO能够提供非常强大的数据库访问功 能,但是它不支持数据远程操作(Data Remoting)。换句话说,ADO只能执行查询 并返回数据库查询的结果,这种结果是静态 的,即客户端需要修改数据库中的数据,必 须通过相应的SQL语句提出修改数据请求,才 能修改服务器端数据库中的内容
服务器上的数据库与客户端看到的数据没有 “活的连接关系” RDS就比ADO更进一步,它支持数据远 程操作。它不仅能执行查询并返回数据库查 询结果,而且这种结果是“动态的”,服务 器上的数据库与客户端看到的数据保持“活 的连接关系”。即把服务器端的数据搬到客 户端,在客户端修改数据后,调用一个数据 库更新命令,就可以将客户端对数据的修改 写回服务器端的数据库,就象使用本地数据 库一样。由于RDS与ADO集成,RDS的底层 是调用ADO来完成的,所以也可以将RDS理 解为ADO的RDS,即 ActiveX数据对象的远程 数据服务
服务器上的数据库与客户端看到的数据没有 “活的连接关系” 。 RDS就比ADO更进一步,它支持数据远 程操作。它不仅能执行查询并返回数据库查 询结果,而且这种结果是“动态的”,服务 器上的数据库与客户端看到的数据保持“活 的连接关系”。即把服务器端的数据搬到客 户端,在客户端修改数据后,调用一个数据 库更新命令,就可以将客户端对数据的修改 写回服务器端的数据库,就象使用本地数据 库一样。 由于RDS与ADO集成,RDS的底层 是调用ADO来完成的,所以也可以将RDS理 解为ADO的RDS,即ActiveX数据对象的远程 数据服务
RDS在ADO的基础上通过绑定的数据显示和 操作控件,提供给客户端更强的数据表现力 和远程数据操纵功能。可以说RDS是目前基 于web的最好的远程数据库访问方式 OLE DB(Object Linking Embedding Database)和ADO是 Microsof公司为适应网 络迅速发展的需要而开发的最新数据访问编 程接口。 OLE DB和ADO都作为 SQL Server7 的一部分提供。 Microsof公司已绎把OLE DB定位为ODBC( Open Database Connectivity) 的继承者。ODBC是基于SQL的,主要用于 处理关系型数据库,可以很好地用于关系型 数据库的访问,对于非关系型数据库就无 为力了
RDS在ADO的基础上通过绑定的数据显示和 操作控件,提供给客户端更强的数据表现力 和远程数据操纵功能。可以说RDS是目前基 于Web的最好的远程数据库访问方式。 OLE DB(Object Linking & Embedding Database)和ADO是Microsoft公司为适应网 络迅速发展的需要而开发的最新数据访问编 程接口。OLE DB和ADO都作为SQL Server 7 的一部分提供。Microsoft公司已经把 OLE DB定位为ODBC(Open Database Connectivity) 的继承者。 ODBC是基于SQL的,主要用于 处理关系型数据库,可以很好地用于关系型 数据库的访问,对于非关系型数据库就无能 为力了
OLE DB作为一个最新数据访问接口,除 提供对关系型数据库的访问之外,还可以访 间非关系型数据库和其他的一些资源,如像 Excel电子表格中的数据、访问电子邮件等。 ADO是一个 OLE DB使用者,它提供了对 OLE DB数据源的应用程序级访问。在ASP中, 可以使用ADO通过 OLE DB的数据库驱动程 序直接访问数据库,也可以编写紧凑简明的 脚本以便连接到ODBC兼容的数据库,这样 ASP程序员就可以访问任何与ODBC兼容的数 据库,如 SQL Server、 Oracle、 Access=等
OLE DB作为一个最新数据访问接口,除 提供对关系型数据库的访问之外,还可以访 问非关系型数据库和其他的一些资源,如像 Excel电子表格中的数据、访问电子邮件等。 ADO是一个OLE DB 使用者,它提供了对 OLE DB数据源的应用程序级访问。在ASP中, 可以使用ADO通过OLE DB的数据库驱动程 序直接访问数据库,也可以编写紧凑简明的 脚本以便连接到ODBC兼容的数据库,这样 ASP程序员就可以访问任何与ODBC兼容的数 据库,如SQL Server、Oracle、Access等