




已阅读5页,还剩60页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第6章Web数据库技术,作者:魏善沛制作者:王凯,第6章Web数据库技术,6.1基本概念6.2交互页面的技术内涵6.3ActiveX数据对象6.4连接Web数据库6.5其他数据库连接6.6应用实例6.7小结,6.1基本概念,数据库技术研究的是如何科学地组织数据和存储数据,如何高效地检索数据和处理数据,以及如何既减少数据冗余,又能保障数据安全,实现数据共享。Web数据库即网络数据库,就是用户利用浏览器作为输入界面,输入必要的数据,浏览器将这些数据传送至网站,网站再对输入数据实施处理,并将其执行的结果返回给浏览器,通过浏览器将最终执行结果提交给用户。,6.1基本概念,客户机与服务器的交互示意图:,图6.1,用户输入的数据,执行结果,客户端,Web服务器端,数据库访问,数据库,6.2交互页面的技术内涵,交互网页就是具有客户访问,服务器应答双向功能,含有数据库管理的网站系统。动态服务器页(ActiveServerPages,ASP)技术是其中之一,它是一种开放式的非编译应用环境,能够组合HTML、Script和可重用的ActiveX服务器组件来建立动态的,强大而基于Web的商业应用。,6.2交互页面的技术内涵,6.2.1概述6.2.2ASP对象模型6.2.3ASP脚本组件6.2.4ASP内置组件6.2.5ASP外置组件,6.2.1概述,Web数据库(WebDB)=因特网+数据库。基于Web数据库的企业网站,可以通过多种方案实施对数据库的管理,我们利用ASP技术只是其中的一种方法。,6.2.1概述,访问WebDB过程示意图:,图6.2,被启动的.asp文件,ADO对象ODBC/OLEDB,6.2.1概述,Web数据库涉及的知识面比较宽,各类技术比较多,其中主要包括(基于Windows系统):超文本标识语言HTML脚本语言ScriptASP和ADO技术网络技术数据库技术,6.2.1概述,初学者掌握学习Web数据库的进阶过程:,OLEDBODBC,参考资料/帮助文档,图6.3,Script,6.2.2ASP对象模型,在面向对象的编程中,对象指的是由作为完整实体的操作和数据组成的变量。组件是包含可更改数据形式的代码,并符合COM(ComponentObjectModel)协议规范的对象。在使用这种对象时,需创建对象实例并给它配置变名。如:SetObjFSO=Server.CreateObject(Scripting.FileSystemObject)ObjFSO是ASP程序创建的对文件、文件夹访问的对象实例。,6.2.2ASP对象模型,ASP3.0提供七个功能强大的内置对象:Request服务器从客户端取得信息Response服务器向客户端传送信息Application公共存储区,可以被不同的用户访问Session个人存储区,在当前状态下,只能被用户本人访问Server提供存取Web服务器的功能ObjectContext配合服务器进行分布式的事务处理ASPError返回ASP出错的详细信息,6.2.2ASP对象模型,ASP文件一般由HTML标识和VBScript或JavaScript程序代码构成。从本质上说ASP文件是一个纯文本文件,其扩展名是.asp。脚本语言是设计ASP的有力工具。这不仅由于脚本语言简单易用,更主要的是它可以非常融洽地嵌入到HTML和ASP页面之中,ASP默认的脚本语言是VBScript。,6.2.2ASP对象模型,典型的ASP文件含有四个部分:(1)标准HTML文件。(2)服务器端执行代码(包含在之间)(3)客户端执行代码(处于与之间的脚本语言和HTML标识及内容)。(4)包含文件语句#include。,6.2.2ASP对象模型,在ASP中指定脚本语言的方法一般有标准指定法和拓展对象法两种:标准指定法用,一般放在程序的第一行。拓展对象法用HTML的标识声明。如:注:VBScript等效于VBScript等效于“VBScript”,6.2.2ASP对象模型,1.Request和Response对象基本应用2.Application和Session对象基本应用3.Server对象的基本应用,1.Request和Response对象基本应用,Request对象包含客户端向Web提出的所有请求信息。Request对象常用的集合、属性、方法有:Request.ClientCertificate读取客户证书中数值的集合;Request.Form用POST读取表单数据的集合;Request.QueryString用GET读取表单数据的集合;Request.Cookies读取Cookie文件的集合;Request.ServerVariables读取服务器端环境变量与HTTP报头的集合。,1.Request和Response对象基本应用,Response对象用来取得创建和回送客户端浏览器的响应信息。Response对象常用的集合、属性、方法有:Response.Cookies写入Cookie文件的集合;Response.Buffer缓冲区处理属性;Response.Redirect从当前网页导向至其他网页(重定向网址)的方法;Response.Clear/Response.Flush缓冲区处理方法;Response.End结束程序执行的方法;Response.Write输出数据至浏览器端的方法。,2.Application和Session对象基本应用,ASP的Application对象可用来存储对于“正在运行此应用程序”的所有用户的状态。我们可以使用Application对象将应用程序的信息存于Web服务器。例如现有值Application(“data”),甲已将其设为123,乙再去读取该值Application(“data”)时,这个值仍是123,任何一个访问该网站的人都可以获取或重新设置该值。,2.Application和Session对象基本应用,Application对象的常用方法、事件有:Application.Lock/Application.Unlock锁定或解除Application的方法;Application.OnStar/Application.OnEnd初始化或释放变量的事件。,2.Application和Session对象基本应用,Session对象是用来存储浏览器端的数据,或称存储特定用户的信息。与Application对象不同的是,Application对象存储的是所有浏览器端共享的数据,而Session对象存储的是个别浏览器端专用的数据。例如甲访问某页,将这个值设置为A;乙来访问,将这个值设置为B,若下次甲再来访问这个网站取出Session(“MyDat”)这个值时,它仍是A(若Session未过期),而不是B或其他值。,2.Application和Session对象基本应用,Session对象的常用集合、方法、属性、事件有:Session.Contents获取指定Session对象内容的集合;Session.Abandon撤销当前Session对象的方法;Session.SessionID返回用户会话识别码的属性;Session.Timeout限制时间的属性(单位:分钟,缺省值:20);Session.OnStar/Session.OnEnd初始化或释放变量的事件。,2.Application和Session对象基本应用,Application对象是为响应ASP页的首次请求而载入ASPDLL(ASPDynamicLinkLibrary)时创建的,它提供的存储空间用来存放变量和对象的引用,这一空间可用于所有页面,任何访问者都可打开它,它记录的是所有浏览器端共享的变量。Session对象是为每一位访问者从Web站点或Web应用程序中首次请求ASP页时创建的,它将保留到默认的期限结束或由脚本决定其终止期限,所记录的个别浏览器端专用的变量。,2.Application和Session对象基本应用,Application对象与Session对象的差异:,图6.4Application对象与Session对象比较,3.Server对象的基本应用,ASP专为处理服务器上的特定任务设计了Server对象,其特别适用于处理与服务器环境和活动有关的任务,它用“属性/方法”来提供Web服务器端的相关信息。这些“属性/方法”可以像应用函数一样供程序员适时调用。,3.Server对象的基本应用,Server对象的常用属性、方法有:(1)Server.ScriptTimeout设置脚本执行时间的属性(单位:秒,缺省值:90);(2)Server.CreateObject创建对象实例的方法;(3)Server.Execute执行指定URL的方法;(4)Server.HTMLEncode返回一个字符串,并转换为等价的名称代码的方法;(5)Server.MapPath将指定虚拟路径转换成实际路径的方法;(6)Server.Transfer执行控制权转移的方法;(7)Server.URLEncode返回一个字符串,并转换为等价的URL数字代码的方法。,6.2.3ASP脚本组件,ASP提供了多个内置的服务器端组件(ServerSideComponent,SSC),通常简称为服务器组件。服务器组件实际上是运行在服务器端的一个动态链接库(DynamicLinkLibrary,DLL)。组件的使用通常要创建相应地对象实例,如使用ASPServer对象提供的CreateObject方法创建对象实例:,6.2.3ASP脚本组件,ASP内置组件功能非常强大、内容很丰富。使用Microsoft的IIS和ASP,就已包含了ASP的数个已安装和可安装的内置组件。,表6.1ASP的脚本组件,6.2.4ASP内置组件,ASP的内置组件也许多,在此我们也只能介绍部分ASP内置组件的应用。AdRotator组件提供广告随机轮换选择功能,简化了按顺序显示每幅广告的任务,可以轻松自如地添加新广告。浏览者打开网页时,能随机地看到广告。程序员可以很容易地增加或变更广告的超链接,使浏览者单击广告便可进入广告客户的Web站点。,6.2.5ASP外置组件,ASP的外置组件或称第三方组件,是使用VB、VC+、VFP等支持组件对象模型(COM)技术的语言编写的ASP组件。从Internet下载的组件是要注册的,注册以后就像使用ASP的内置组件一样方便,它们也有属性、方法等。,6.3ActiveX数据对象,Web数据库的核心在于使用ASP内置组件ActiveX数据对象(ActiveXDataObject,ADO),ADO是ASP的一个非常重要的组件,习惯上也称ADO组件。ADO的主要作用是提供用户访问数据存储的功能,它是从单个或多个数据源获取和修改数据的最普通的使用方法。这些数据源包括传统的数据库、文件系统、电子邮件仓库以及Internet上的数据。,6.3ActiveX数据对象,6.3.1概述6.3.2Connection对象6.3.3Command对象6.3.4Recordset对象,6.3.1概述,ADO组件模型中有三个主要对象,它们是Connection对象、Command对象和Recordset对象。通过这三个对象以及其他对象与集合等,用户可以很方便地建立数据库连接,执行SQL查询以及完成数据访问等操作。,6.3.1概述,Connection对象包含的Errors集合和Error对象,用来记录连接过程中所发生的错误信息;Command对象包含的Parameters集合和Parameter对象,用来传递Command对象所需的命令参数;Recordset对象包含的Fields集合和Field对象,用来记录Recordset对象中各个字段的相关属性。,6.3.1概述,两个极为重要关系:(1)使用Execute方法,Connection和Command对象可以分别产生一个Recordset对象。(2)使用ActiveConnection属性,Recordset和Command对象均可产生一个Connection对象。,6.3.1概述,ADO各对象之间的相互关系,Connection,Connection,Connection,Recordset,Field,Command,Errors集合,ActiveConnection属性,ActiveConnection属性,Execute方法,Parameters集合,Source属性,Fields集合,图6.5ADO各对象之间的相互关系,6.3.2Connection对象,Connection对象负责对数据库的联接,是Web数据库与外界联系的惟一通道。只要建立了一个Connection对象,就可以重复地使用它对数据库进行查询、检索等操作。ADO的一个重要特点就是共享机制。例如,几个不同的Command对象可以共享一个Connection对象,几个不同的Web页也可以共享一个Connection对象。,6.3.2Connection对象,Connection对象的创建与释放(1)创建Connection对象(使用Server对象的CreateObject方法)语法:SetObjConn=Server.CreateObject(“ADODB.Connection”)说明:ObjConn是为Connection对象所创建的对象实例。(2)释放对象语法:SetObjConn=Nothing说明:ObjConn是对应的Connection对象实例的名称,其他对象的释放与之相同。,6.3.3Command对象,在运行Connection对象的命令时,实际上已经隐含地创建了一个Command对象。Command对象可以通过Execute方法返回一个符合SQL的Recordset对象实例,用以建立数据表、获取数据集等。Command对象的创建使用Server的CreateObject方法创建一个Command对象的对象实例。语法:SetObjComm=Server.CreateObject(“ADODB.Command”),6.3.3Command对象,Command对象应用使用Command对象,就是执行指定给CommandText属性的文本字串,用的最多的是利用Command对象的Execute方法来执行。Execute方法可以执行查询、追加、删除、修改、索引等几乎所有的SQL命令,只不过必须要把这样的命令作为文本形式的字符串,指定给CommandText属性。,6.3.4Recordset对象,在对数据库的访问中,ADO使用率最高的对象是Recordset。它含有从数据存储中提取的数据集,Recordset对象是拥有这些记录的对象。从结构上看,Recordset对象的结构与关系型数据库中表的结构相似。表是由一条条的记录构成,记录是由一个或一个以上的字段构成。,6.3.4Recordset对象述,(1)Recordset对象的创建利用Server对象的CreateObject方法创建一个Recordset对象实例。语法:SetObjRS=Server.CreateObject(“ADODB.Recordset”)说明:ObjRS为所创建的Recordset对象的对象实例名称。(2)Recordset对象应用我们通过浏览器向服务器提出数据查询请求,服务器在响应客户端的数据查询请求后,会将相应的数据送给客户端,而客户端所得到的数据就是记录于服务器端的Recordset对象。,6.4连接Web数据库,6.4.1DSN连接方式6.4.2DSN-less连接方式6.4.3使用SQLServer的存储过程6.4.4创建存储过程,6.4.1DSN连接方式,DSN(DataSourceName)连接方式就是配置数据源名的连接方式。配置数据源名的好处在于,不需要更改源程序,只需重新配置数据源名就可以以相同的形式访问不同数据库。调用ODBC驱动程序对已有的数据库进行配置的过程称为“配置DSN”,只要计算机系统中已经装有与数据库相对应的ODBC驱动程序,任何一种程序都可以通过ODBC操纵或访问数据库。,6.4.1DSN连接方式,1.使用DSN访问Access2003数据库2.使用DSN访问SQLServer2005数据库,1.使用DSN访问Access2003数据库,我们的系统中含有Access的ODBC驱动程序,这样就不需要启动Access系统,而通过ODBC直接访问Access数据库。由于数据库的实际名称和所处位置是在配置DSN时设置,因此,若数据库的实际位置发生了变化,我们只需修改DSN配置,而用不着改变源程序文件。,1.使用DSN访问Access2003数据库,修改DSN配置,其语句的格式为:SetObjLJ=Server.CreateObject(ADODB.Connection)创建对象实例ObjLJ.ConnectionString=DSN=数据源名;UID=;PWD=;数据库连接字符串ObjLJ.Open利用数据源名打开与数据库的连接另一种较简单的样式:SetObjLJ=Server.CreateObject(ADODB.Connection)创建对象实例ObjLJ.Open=DSN=数据源名;UID=;PWD=;利用数据源名打开与数据库的连接,2.使用DSN访问SQLServer2005数据库,我们要在名为jsjw的服务器上,配置数据库lhx的数据源名khdj,其操作步骤如下:(1)单击“管理工具”中的“数据源(ODBC)”;在弹出的“ODBC数据源管理器”对话框中选择“系统DSN”标签,单击“添加”按钮;在弹出“创建新数据源”对话框中选中“SQLServer”项,单击“完成”按钮。(2)在“创建到SQLServer的新数据源”对话框中,填入数据源名khdj;在连接SQLServer服务器文本框内填入服务器名(jsjw)或IP地址(如62或在本地调试可用与localhost);对数据源描述的说明文本框中,可视情况填写。完成之后,单击“下一步”。,2.使用DSN访问SQLServer2005数据库,(3)进入下一步后,可以选中“使用网络登录ID的WindowsNT验证”单击“下一步”。若在WindowsServer2003下,应选中“使用用户输入登录ID和密码的SQLServer验证”和“连接SQLServer以获得其他配置选择的默认设置”;输入SQLServer2005的登录ID和密码(如sa和lkd2009)。(4)接下来在“创建到SQLServer的新数据源”对话框中,准备“更改默认的数据库”,选择所要访问的数据库(如lhx),单击“下一步”。,2.使用DSN访问SQLServer2005数据库,(5)完成以上操作进入“创建到SQLServer的新数据源”的下一步操作,在这里可以保持默认状态,也可选择系统语言为“SimplifiedChinese”,单击“完成”。(6)此时弹出的“ODBCMicrosoftSQLServer安装”对话框,将给出所创建的ODBC数据源的设置状况。可以单击“测试数据源”(也可以直接单击“确定”)按钮,若测试通过,系统将在“SQLServerODBC数据源测试”对话框中,返回测试成功信息。单击“确定”按钮完成。,6.4.2DSN-less连接方式,1.使用DSN-less访问Access2003数据库2.使用DSN-less访问SQLServer2005数据库,1.使用DSN-less访问Access2003数据库,DSN-less连接方式是未配置数据源名的连接方式,未配置数据源名的连接方式是通过直接指定ODBC驱动程序的名称去实现与数据库的连接。,SQLServerMicrosoftAccessDriver(*.mdb)MicrosoftODBCforOracleMicrosoftVisualFoxProDriverMicrosoftFoxProDriver(*.dbf),SQLServerMicrosoftAccessOracleDataBaseServerVisualFoxProFoxPro,表6.2常用的ODBC驱动程序名和与之对应数据库,2.使用DSN-less访问SQLServer2005数据库,使用DSN-less的优点是方便、灵活,只需按要求给出驱动程序,变更系统时不需要考虑数据源的连接问题,适用于经常要移动数据库系统的环境。,6.4.3使用SQLServer的存储过程,存储过程是一组为完成特定功能的Transact-SQL语句集,其经编译后存储在数据库中。存储过程可以作为一个独立的数据库对象,也可以作为一个单元被用户的应用程序调用。它既可以接收参数和输出参数,返回执行存储过程的状态值,还可以嵌套使用。存储过程存储于远端服务器的数据库内,对数据的保密性相对要高一些,可以使数据更安全,运行更可靠。可以说任何一个设计良好的数据库应用程序都应该用到存储过程。,6.4.4创建存储过程,进入SQLServer2005打开已建好的数据库,单击鼠标右键,弹出快捷菜单,单击“新建存储过程”,见图,在弹出的“存储过程属性新建存储过程”对话框的文本栏目内写入要创建的存储过程,输入完成之后,单击“确定”按钮结束存储过程的创建。若要修改存储过程,只需选中该存储过程,单击鼠标右键,在弹出的快捷菜单中,选择“属性”,即可进入“存储过程属性新建存储过程”对话框编辑、修改存储过程。,6.
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 贵州国企招聘:2025贵州省水利投资(集团)有限责任公司招聘84人考前自测高频考点模拟试题及完整答案详解1套
- 2025年工业互联网平台生物识别技术在智能医疗健康技术进步中的应用报告
- 2025年工业互联网平台增强现实交互技术在智能工厂生产信息化中的应用分析报告
- 2025年成人教育线上学习模式创新成人教育课程设计与开发实践策略实践报告
- 2025年美妆个性化定制服务模式与美容护肤行业品牌竞争力提升报告
- 2025版汽车维修行业环保设施投资与运营合同
- 2025年个人出租房出售合同范本
- 2025年度物流行业劳动合同编制与管理规范
- 2025年二手房买卖合同签订中的合同解除与违约责任承担
- 2025年专业厨师个人品牌推广与服务合同
- 学校食堂病媒生物防制工作计划
- 护理业务查房与护理教学查房的区别
- 资产评估工作的方案(5篇)
- 中国工分制管理制度
- 2025-2030年中国城市轨道交通行业市场现状供需分析及投资评估规划分析研究报告
- 乌镇景区管理制度
- 国企职称评聘管理制度
- 公司意识形态管理制度
- 微电网短期负荷预测-洞察阐释
- 月饼代销合同协议书
- 精神康复与躯体管理训练体系
评论
0/150
提交评论