电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

ASP30高级编程(三十六)

4页
  • 卖家[上传人]:cl****1
  • 文档编号:470533929
  • 上传时间:2023-09-04
  • 文档格式:DOC
  • 文档大小:32KB
  • / 4 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 1、第8章 ADO基础在本书前7章中,已经讲述了ASP的有关内容,以及ASP如何为Web站点带来动态的内容。已经见到其脚本程序允许自定义Web页面,使我们能够构建功能更为强大的ASP页面。现在,将研究ASP和数据的集成。虽然对用于网页中的脚本数量并无任何限制,但如果没有某种形式的数据,很快就会进入一个死胡同。数据构成了Web站点的实际内容,或者指出了如何设置Web站点,因此总的说来数据是非常重要的。如果围绕数据存储建立Web站点,改变Web站点时只需要改变相应的数据即可。ActiveX数据对象(ADO)是允许用户与数据存储进行交互的组件。这意味着只要基于某些数据就可建立一个网页,或一种完全交互的电子商务系统。不论哪种方式,都是ADO使我们能与数据进行通信。我们将讨论从数据存储获取和传送数据的主要内容,以及得到数据后的数据处理方法。首先研究什么是ADO及其所包括的组件,然后讨论如何访问数据存储。在下一章,将进一步学习ADO更先进的一些特性,如命令、存储过程和优化应用程序的一些操作技巧。下一步研究Web服务器和浏览器之间的交互过程,以及数据处理过程。然后研究数据存取领域中极具潜力的XML。XM

      2、L是什么?如何使用?因为XML代表着未来发展的一种趋势,我们将介绍微软关于通用数据存取的构想。在这个构想中,数据不只是从数据库中获得的。最后,看一下标准的微软数据库(如Access与sql server)以及在其中如何使用ADO。本章从ADO开始,主要内容有: 研究ADO如何与数据进行交互。 了解ADO的组件。 如何与数据存储连接和创建数据集。 如何处理和修改数据。 如何处理ADO错误。8.1 ADO的定义ADO是一个相当简单的思想,一种让你仅用一种方式去访问数据的思想。ADO不算一个新思想,仅是采用现有的数据库访问技术,并将其融合而形成的一种适应现在和未来需要的新东西。适应未来的需求是一件十分重要的事。许多其他的技术,比如DAO和ODBC,在一些应用程序的开发过程中是可以接受的,然而随着Internet的兴起也出现了其自身的一些问题。在许多情况下,传统的数据存取方法看上去能解决一些关于两层客户/服务器系统的问题,但要求与数据之间要保持一种永久性的连接,并要提供强大的功能,比如快速响应的查询、数据容易修改等。在Internet领域,现在必须考虑到Web无状态性本质,和潜在的众多可以访问

      3、Web站点的用户。要与数据建立永久的连接是不现实的,因此必须在设计应用程序时考虑这些因素。那么,OLD DB和ADO确切地讲到底是什么?让我们与一些已有的数据存取技术做比较后再来回答这个问题。如果读者曾经接触过数据库编程,或许比较熟悉ODBC和RDO。开放数据库连接(ODBC)是允许访问关系数据库(比如Access和SQL Server)的应用程序编程接口(API)。正因为是一个API,许多程序员,特别是Visual Basic领域的程序员,发现它使用起来很复杂。远程数据对象(RDO)是位于ODBC上层的ActiveX对象,可以提供ODBC的所有功能,并且使用起来比较简单。可以将OLE DB等同于ODBC,ADO等同于RDO。OLE DB是应用程序与数据源交互的一种基本技术。这相当复杂,确实也只有C和C+程序员能够使用。正如ADO的名字所暗示的,它是易于访问OLE DB功能的ActiveX对象。你或许发现术语ActiveX与COM对象经常混用。对于ASP程序员来说它们并没有本质上的区别,因为两者都基于COM系统结构,只不过ActiveX是组件的一个跨平台标准,而COM是Windows专

      4、有的。虽然微软已经引入了一种新的存取数据的技术,但并没有立即取消旧的技术,ODBC工作起来仍然很有效,并同OLE DB和ADO紧密地一起工作着。事实上,ODBC并不只是微软的产品,也受到国际组件的控制。并且由于广泛的使用,ODBC也不会突然消亡。隐藏在OLE DB背后的思想不是摒弃现有的技术,而是不断地改进它们。8.1.1 OLE DB和ADO的体系结构前面已经给出了OLE DB与ADO在一些主要方面的简要解释。图8-1显示了这两项技术与应用程序和数据存储相互关系:图8-1 OLE DB、ADO与应用程序和数据存储的关系从图8-1中可以看出整体思路。图的顶端是应用程序(Web或常规的应用程序,这是无关紧要的),下面是提供对数据的访问的ADO和/或OLE DB。ADO和OLE DB两者兼有是因为OLE DB是一项基本技术。然而,OLE DB并不适用于所有语言,所以ADO位于OLE DB的上层,为那些不能直接访问OLE DB的语言(如Visual Basic和脚本语言)提供编程接口。ADO提供了比OLE DB更容易的编程接口,因此即使那些可以直接使用OLE DB的编程语言,如C+或Java

      5、,也可使用ADO以简化对数据的访问。图8-1显示的是微软的编程语言,而ADO是一个COM组件,因此可用于任何与COM兼容的编程语言,比如Delphi或支持Active Scripting接口的脚本语言。所以,虽然ADO与平台有关,但与开发的语言是无关的。当然,对于ASP主要使用VBScript和JScript,在组件中使用ADO时,有一些Visual Basic代码。现在知道了OLE DB和ADO允许访问数据,可是为什么需要它们?老方法出问题了吗?这里有两个主要原因:首先,OLE DB和ADO是用来访问数据存储的。注意这里指“数据存储”而不是“数据库”。尽管数据库仍旧是数据存储最为广泛的形式,但并不一定含有全部的数据。一些消息系统,如Microsoft Exchange Server,也普遍地用于存储数据。目录服务(Directory Service)正开始在初露端倪,它们包含着有关用户、机器等的数据;Web服务器中存有大量的信息。可以继续罗列下去,很明显需要一种能访问所有这些不同类型数据的方法。其次,源于Internet应用程序的兴起与Web的状态本质。过去的访问数据的方法主要考虑与

      6、数据存储保持永久连接的情况下处理数据。而OLE DB和ADO正是为解决这个问题而设计的,提供断开连接的记录集,我们将会在后面看到有关这方面的内容。8.1.2 消费者与提供者ADO系统结构图展示了ADO是如何在应用程序和真实数据存储之间发挥作用的。在微软的文献中,会看到两个易懂的术语:消费者(Consumer)和提供者(Provider),但搞清它们的确切定义至关重要。提供者是提供数据的物体,消费者是使用(消耗)这些数据的物体。在编程中,经常会发现应用程序是数据的消费者。但提供者呢?一般是数据存储,并且由于OLE DB被设计成用于与不同的数据存储对话,因此对于每一个独特类型的数据存储都有一个OLE DB提供者。这种单独提供者的思想并不新,但使编程变得容易了。编写程序与ADO或OLE DB对话,OLE DB再与提供者对话。这意味着只需学会一套访问数据的方法,无论数据如何存储,在某些情况下确实可以完全不改变任何代码而只更换提供者。这就是ADO和OLE DB真正优越的地方,为数据存储提供了一套常用的编程接口。要连接到数据存储,必须使用OLE DB提供者。提供给ADO 2.5的初始设置为: Je

      7、t OLE DB 4.0:用于微软Access数据库。 DTS Packages:用于SQL Server的数据转换服务(Data Transformation Services)。 Internet Publishing:用于访问Web服务器。 Indexing Services:用于索引目录(Index Catalogs)。 Site Server Search:用于站点服务器查找目录。 ODBC Drivers:用于ODBC数据源。 OLAP Services:用于微软OLAP服务器。 Oracle:用于Oracle数据库。 SQL Server:用于微软SQL Server数据库。 Simple Provider:用于简单的文本文件。 MSDataShape:用于层次数据。 Microsoft Directory Services:用于Windows 2000的目录服务。 DTS Flat File:用于SQL Server的数据转换服务的平面文件管理。这只是微软提供的初始列表,并取决于安装在服务器上的服务及软件。以Oracle数据提供者为例,要求在客户机上安装Oracle的客

      8、户端软件。可以从别的制造商那里获得OLE DB提供者,用于其他数据存储。甚至还可以编写自己的提供者。在第11章,将演示如何编写简单的OLE DB提供者。要想知道系统安装了哪些提供者,可以使用Data Link properties对话框。在本章后面,将介绍如何使用它。8.1.3 提供者和驱动程序值得注意的是,OLE DB对ODBC的兼容性,允许OLE DB访问现有的ODBC数据源。其优点很明显,由于ODBC相对OLE DB来说使用得更为普遍,因此可以获得的ODBC驱动程序相应地要比OLE DB的要多。这样不一定要得到OLE DB的驱动程序,就可以立即访问原有的数据系统。避免混淆提供者与驱动程序是重要的,图8-2明确了它们之间的区别:图8-2 提供者与驱动程序之间的区别提供者位于OLE DB层,而驱动程序位于ODBC层。如果想使用一个ODBC数据源,需要使用针对ODBC的OLE DB提供者,它会接着使用相应的ODBC驱动程序。如果不需要使用ODBC数据源,那么可以使用相应的OLE DB提供者,这些通常称为本地提供者(native provider)。可以清楚地看出使用ODBC提供者意味着

      9、需要一个额外的层。因此,当访问相同的数据时,针对ODBC的OLE DB提供者可能会比本地的OLE DB提供者的速度慢一些。8.2 ADO 2.5对象模型虽然在ADO 2.5对象模型中出现了两个新对象,但与以前的版本基本上是类似的。图8-3显示了这些对象以及每个对象之间的关系:图8-3 对象之间的相互关系如果以前使用过ADO,你会发现在这个新版本中出现了两个新对象:Stream和Record对象。在第11、12章将详细介绍它们。Properties集合已经被有意地排除在图8-3外,这样你对几个主要对象之间的交互关系就一目了然了。在本章的后面,有显示Properties集合的简化对象模型。让我们更详细地考察这几个对象。8.2.1 Connection对象Connection对象是使我们能与数据存储相连的对象。只有Connection对象才能指定希望使用的OLE DB提供者、连接到数据存储的安全细节以及其他任何连接到数据存储特有的细节。应用注意的是,不必显式创建一个Connection对象以连接到数据存储。尽管确实需要指定连接细节,但没有Connection对象,一样可以创建Command、Recordset和Record对象。如果不创建自己的Connection对象,ADO将会隐含地为你创建一个Connection对象。如果要对提供者运行多条命令,应该显式地创建一个Connection对象,这比每运行一条命令就创建一个连接更有效。除了为数据存储提供连接以外,Connection对象允许针对数据存储执行命令操作。这些命令可以是结构化的或存储的命令(例如,SQL命令或一个存储过程),并且可以有选择地从数据存储中返回一些数据。8.2.2 Command对象Command对象是对数据存储执行命令的对象。看到这里读者可能会产生疑问,Connection对象不也能这样做吗?是的,但是Connection对象在处理命令的功能上受到一定的限制,而Command对象是特别为处理命令的各

      《ASP30高级编程(三十六)》由会员cl****1分享,可在线阅读,更多相关《ASP30高级编程(三十六)》请在金锄头文库上搜索。

      点击阅读更多内容
    最新标签
    监控施工 信息化课堂中的合作学习结业作业七年级语文 发车时刻表 长途客运 入党志愿书填写模板精品 庆祝建党101周年多体裁诗歌朗诵素材汇编10篇唯一微庆祝 智能家居系统本科论文 心得感悟 雁楠中学 20230513224122 2022 公安主题党日 部编版四年级第三单元综合性学习课件 机关事务中心2022年全面依法治区工作总结及来年工作安排 入党积极分子自我推荐 世界水日ppt 关于构建更高水平的全民健身公共服务体系的意见 空气单元分析 哈里德课件 2022年乡村振兴驻村工作计划 空气教材分析 五年级下册科学教材分析 退役军人事务局季度工作总结 集装箱房合同 2021年财务报表 2022年继续教育公需课 2022年公需课 2022年日历每月一张 名词性从句在写作中的应用 局域网技术与局域网组建 施工网格 薪资体系 运维实施方案 硫酸安全技术 柔韧训练 既有居住建筑节能改造技术规程 建筑工地疫情防控 大型工程技术风险 磷酸二氢钾 2022年小学三年级语文下册教学总结例文 少儿美术-小花 2022年环保倡议书模板六篇 2022年监理辞职报告精选 2022年畅想未来记叙文精品 企业信息化建设与管理课程实验指导书范本 草房子读后感-第1篇 小数乘整数教学PPT课件人教版五年级数学上册 2022年教师个人工作计划范本-工作计划 国学小名士经典诵读电视大赛观后感诵读经典传承美德 医疗质量管理制度 2
    关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
    手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
    ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.