文档介绍:第8章用ASP访问与操作数据库
本章学习要点:
ActiveX数据对象
连接对象的基本功能、方法及属性
记录集对象的方法、属性及集合
记录集对象的分页显示功能
命令对象的主要方法及属性
存储过程
本节内容:
l         ASP访问数据库的方式
l         ODBC数据源的创建和配置
l         ADO七个对象和四个集合的主要功能
l         数据库操作的基本步骤
ActiveX数据对象
ASP访问数据库的方式
前面已经介绍过,在传统的静态网页中,访问数据库一般是通过公用网关接口(CGI)来实现,这种方式不仅开发困难,而且在出现大量并发请求时会显著地降低服务器的运行效率,而采用ASP实现数据库访问可以说能较好地解决这个问题。在ASP脚本中可以通过三种方式访问数据库:
l   IDC( Database Connector)方式
l   ADO(ActiveX Data Objects)方式
l   RDS(Remote Data Service)方式
从概念上来讲,这三种访问方式对数据库的访问都是由IIS来完成的。Web浏览器用HTTP协议向IIS递交请求。信息服务器执行访问数据库的操作,并以一个HTML格式的文档作为回答。
(1)数据库接口(IDC)
IDC是一个传统的数据库查询工具,用来定义和执行数据库查询的SQL命令,并向浏览器返回一个指定数据格式的页面。虽然使用IDC访问数据库十分简单,几乎不需要编程就能实现对数据库的访问。但IDC缺乏使用上的灵活性, IDC只能简单的创建 IDC(.idc)
文件和HTML扩展文件(.htx)两种文件,然后等待IDC文件被请求,分别完成数据库的访问与输出任务。因此这种方式限制了对数据库的交互控制,同时IDC还有缺少任何游标的缺点。
(2)ActiveX数据对象(ADO)
与IDC不同,用ADO访问数据库更类似于编写数据库应用程序,ADO把绝大部分的数据库操作封装在七个对象中,在ASP页面中编程调用这些对象执行相应的数据库操作。ADO是ASP技术的核心之一,它集中体现了ASP技术丰富而灵活的数据库访问功能。
正是因为使用ADO需要编写脚本程序,所以ADO能够实现更复杂、更灵活的数据库访问逻辑。目前,mand、Connection、Recordset等七个对象和一个动态的Properties集合,绝大部分的数据库访问任务都可以通过它们的组合来完成。
一般使用ADO访问数据库的ASP脚本程序应该使用Connection对象建立并管理与远程数据库的连接;mand对象提供灵活的查询;而使用Recordset对象访问数据库查询所返回的结果。这三者是ADO中最基本也最核心的对象。
(3) 远程数据服务(RDS)
RDS是IIS ,它是由ASP中原来的Advanced Data Connector(ADC)发展而来的。在IIS ,RDS与ADO集成到一起,使用同样的编程模型,提供访问远程数据库的功能。
ADO能够提供非常强大的数据库访问功能,但是它不支持数据远程操作(Data Remoting)。换句话说,ADO只能执行查询并返回数据库查询的结果,这种结果是静态的,即客户端需要修改数据库中的数据,必须通过相应的SQL语句提出修改数据请求,才能修改服务器端数据库中的内容。
服务器上的数据库与客户端看到的数据没有“活的连接关系”。
RDS就比ADO更进一步,它支持数据远程操作。它不仅能执行查询并返回数据库查询结果,而且这种结果是“动态的”,服务器上的数据库与客户端看到的数据保持“活的连接关系”。即把服务器端的数据搬到客户端,在客户端修改数据后,调用一个数据库更新命令,就可以将客户端对数据的修改写回服务器端的数据库,就象使用本地数据库一样。由于RDS与ADO集成,RDS的底层是调用ADO来完成的,所以也可以将RDS理解为ADO的RDS,即ActiveX数据对象的远程数据服务。
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的,主要用于处理关系型数据库,可以很好地用于关系型数据库的访问