企业网站开发与管理-第6章Web数据库技术77116

上传人:沈*** 文档编号:244117088 上传时间:2024-10-02 格式:PPTX 页数:65 大小:852.49KB
返回 下载 相关 举报
企业网站开发与管理-第6章Web数据库技术77116_第1页
第1页 / 共65页
企业网站开发与管理-第6章Web数据库技术77116_第2页
第2页 / 共65页
企业网站开发与管理-第6章Web数据库技术77116_第3页
第3页 / 共65页
点击查看更多>>
资源描述
,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,第6章 Web数据库技术,作 者: 魏善沛,制作者: 王 凯,第6章 Web数据库技术,6.1 基本概念,6.2 交互页面的技术内涵,6.3 ActiveX数据对象,6.4 连接Web数据库,6.5 其他数据库连接,6.6 应用实例,6.7 小结,6.1 基本概念,数据库技术研究的是如何科学地组织数据和存储数据,如何高效地检索数据和处理数据,以及如何既减少数据冗余,又能保障数据安全,实现数据共享。,Web数据库即网络数据库,就是用户利用浏览器作为输入界面,输入必要的数据,浏览器将这些数据传送至网站,网站再对输入数据实施处理,并将其执行的结果返回给浏览器,通过浏览器将最终执行结果提交给用户。,6.1 基本概念,客户机与服务器的交互示意图:,图6.1,用户输入的数据,执行结果,客户端,Web服务器端,数据库访问,数据库,6.2 交互页面的技术内涵,交互网页就是具有客户访问,服务器应答双向功能,含有数据库管理的网站系统。,动态服务器页(Active Server Pages,ASP)技术是其中之一,它是一种开放式的非编译应用环境,能够组合HTML、Script和可重用的ActiveX服务器组件来建立动态的,强大而基于Web的商业应用。,6.2 交互页面的技术内涵,6.2.1 概述,6.2.2 ASP对象模型,6.2.3 ASP脚本组件,6.2.4 ASP内置组件,6.2.5 ASP外置组件,6.2.1 概述,Web数据库(WebDB) = 因特网+数据库 。,基于Web数据库的企业网站,可以通过多种方案实施对数据库的管理,我们利用ASP技术只是其中的一种方法 。,6.2.1 概述,访问WebDB过程示意图:,浏览器,Web服务器,(IIS/PWS),WebDB,图6.2,被启动的,.asp文件,ADO对象,ODBC/OLE,DB,6.2.1 概述,Web数据库涉及的知识面比较宽,各类技术比较多,其中主要包括(基于Windows系统):,超文本标识语言HTML,脚本语言Script,ASP和ADO技术,网络技术,数据库技术,6.2.1 概述,初学者掌握学习Web数据库的进阶过程 :,HTML,FrontPage,IIS/PWS,VS 2005,Web服务,企业网站,ASP,ADO,DBS,OLE DB,ODBC,参考资料/帮助文档,图6.3,Script,6.2.2 ASP对象模型,在面向对象的编程中,对象指的是由作为完整实体的操作和数据组成的变量 。,组件是包含可更改数据形式的代码,并符合COM (Component Object Model)协议规范的对象。,在使用这种对象时,需创建对象实例并给它配置变,名。,如:Set ObjFSO =,Server.CreateObject(Scripting.FileSystemObject),ObjFSO是ASP程序创建的对文件、文件夹访问的对象实例。,6.2.2 ASP对象模型,ASP 3.0提供七个功能强大的内置对象:,Request 服务器从客户端取得信息,Response 服务器向客户端传送信息,Application 公共存储区,可以被不同的用户访问,Session 个人存储区,在当前状态下,只能被用,户本人访问,Server 提供存取Web服务器的功能,ObjectContext 配合服务器进行分布式的事务处理,ASP Error 返回ASP出错的详细信息,6.2.2 ASP对象模型,ASP文件一般由HTML标识和VBScript或JavaScript程序代码构成。从本质上说ASP文件是一个纯文本文件,其扩展名是.asp。,脚本语言是设计ASP的有力工具。这不仅由于脚本语言简单易用,更主要的是它可以非常融洽地嵌入到HTML和ASP页面之中, ASP默认的脚本语言是VBScript。,6.2.2 ASP对象模型,典型的ASP文件含有四个部分:,(1)标准HTML文件。,(2)服务器端执行代码(包含在 之间),(3)客户端执行代码(处于 与 之,间的脚本语言和HTML标识及内容)。,(4)包含文件语句#include。,6.2.2 ASP对象模型,在ASP中指定脚本语言的方法一般有标准指定法和拓展,对象法两种:, 标准指定法,用,一般放在程序的第一行。, 拓展对象法,用HTML的标识声明。,如:,注:VBScript 等效于VBScript等效于“VBScript”,6.2.2 ASP对象模型,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页的首次请求而载入ASP DLL(ASP Dynamic Link Library)时创建的,它提供的存储空间用来存放变量和对象的引用,这一空间可用于所有页面,任何访问者都可打开它,它记录的是所有浏览器端共享的变量。,Session对象是为每一位访问者从Web站点或Web应用程序中首次请求ASP页时创建的,它将保留到默认的期限结束或由脚本决定其终止期限,所记录的个别浏览器端专用的变量。,2. Application和Session对象基本应用,Application对象与Session对象的差异:,Session对象1,Session对象2,Session对象,n,浏览器1,浏览器2,浏览器,n,Application,对象,图6.4 Application对象与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.3 ASP脚本组件,ASP提供了多个内置的服务器端组件(Server Side Component,SSC),通常简称为服务器组件。,服务器组件实际上是运行在服务器端的一个动态链接库(Dynamic Link Library,DLL),。,组件的使用通常要创建相应地对象实例,如使用ASP Server对象提供的CreateObject方法创建对象实例:,6.2.3 ASP脚本组件,ASP内置组件功能非常强大、内容很丰富。使用Microsoft的IIS和ASP,就已包含了ASP的数个已安装和可安装的内置组件。,名 称 功 能,Dictionary 用内建函数来完成大量数据的存储和处理等基,本任务,提供一种存储值的有效方式,FileAccess 文件存取组件,提供读写服务器文件的功能。,并可取得并修改储存在文件中的信息,表6.1 ASP的脚本组件,6.2.4 ASP内置组件,ASP的内置组件也许多,在此我们也只能介绍部分ASP内置组件的应用。,Ad Rotator组件提供广告随机轮换选择功能,简化了按顺序显示每幅广告的任务,可以轻松自如地添加新广告。浏览者打开网页时,能随机地看到广告。程序员可以很容易地增加或变更广告的超链接,使浏览者单击广告便可进入广告客户的Web站点。,6.2.5 ASP外置组件,ASP的外置组件或称第三方组件,是使用VB、VC+、VFP等支持组件对象模型(COM)技术的语言编写的ASP组件。,从Internet下载的组件是要注册的,注册以后就像使用ASP的内置组件一样方便,它们也有属性、方法等。,6.3 ActiveX数据对象,Web数据库的核心在于使用ASP内置组件ActiveX数据对象(ActiveX Data Object,ADO),ADO是ASP的一个非常重要的组件,习惯上也称ADO组件。,ADO的主要作用是提供用户访问数据存储的功能 ,它是从单个或多个数据源获取和修改数据的最普通的使用方法。这些数据源包括传统的数据库、文件系统、电子邮件仓库以及Internet上的数据。,6.3 ActiveX数据对象,6.3.1 概述,6.3.2 Connection对象,6.3.3 Command对象,6.3.4 Recordset对象,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.5 ADO各对象之间的相互关系,6.3.2 Connection对象,Connection对象负责对数据库的联接,是Web数据库与外界联系的惟一通道。,只要建立了一个Connection对象,就可以重复地使用它对数据库进行查询、检索等操作。,ADO的一个重要特点就是共享机制。例如,几个不同的Command对象可以共享一个Connection对象,几个不同的Web页也可以共享一个Connection对象。,6.3.2 Connection对象,Connection对象的创建与释放,(1)创建Connection对象(使用Server对象的CreateObject方法),语法:,Set ObjConn=Server.CreateObject(“ADODB.Connection”),说明:ObjConn是为Connection对象所创建的对象实例。,(2)释放对象,语法:Set ObjConn=Nothing,说明:ObjConn是对应的Connection对象实例的名称,其他对,象的释放与之相同。,6.3.3 Command对象,在运行Connection对象的命令时,实际上已经隐含地创建了一个Command对象。Command对象可以通过Execute方法返回一个符合SQL的Recordset对象实例,用以建立数据表、获取数据集等。,Command对象的创建,使用Server的CreateObject方法创建一个Command对象的对 象实例。,语法:,Set ObjComm=Server.CreateObject(“ADODB.Command,”),6.3.3 Command对象,Command对象应用,使用Command对象,就是执行指定给CommandText,属性的文本字串,用的最多的是利用Command对象,的Execute方法来执行。,Execute方法可以执行查询、追加、删除、修改、索,引等几乎所有的SQL命令,只不过必须要把这样的,命令作为文本形式的字符串,指定给CommandText,属性。,6.3.4 Recordset对象,在对数据库的访问中,ADO使用率最高的对象是Recordset。它含有从数据存储中提取的数据集,Recordset对象是拥有这些记录的对象。,从结构上看,Recordset对象的结构与关系型数据库中表的结构相似。表是由一条条的记录构成,记录是由一个或一个以上的字段构成。,6.3.4 Recordset对象述,(1)Recordset对象的创建,利用Server对象的CreateObject方法创建一个Recordset对象实例。,语法:Set ObjRS=Server.CreateObject(“ADODB.Recordset”),说明:ObjRS为所创建的Recordset对象的对象实例名称。,(2)Recordset对象应用,我们通过浏览器向服务器提出数据查询请求,服务器在响应客户,端的数据查询请求后,会将相应的数据送给客户端,而客户端所,得到的数据就是记录于服务器端的Recordset对象。,6.4 连接Web数据库,6.4.1 DSN连接方式,6.4.2 DSN-less连接方式,6.4.3 使用SQL Server的存储过程,6.4.4 创建存储过程,6.4.1 DSN连接方式,DSN(Data Source Name)连接方式就是配置数据源名的连接方式。配置数据源名的好处在于,不需要更改源程序,只需重新配置数据源名就可以以相同的形式访问不同数据库。,调用ODBC驱动程序对已有的数据库进行配置的过程称为“配置DSN”,只要计算机系统中已经装有与数据库相对应的ODBC驱动程序,任何一种程序都可以通过ODBC操纵或访问数据库。,6.4.1 DSN连接方式,1.,使用DSN访问Access 2003数据库,2. 使用DSN访问SQL Server 2005数据库,1.,使用DSN访问Access 2003数据库,我们的系统中含有Access的ODBC驱动程序,这样就不需要启动Access系统,而通过ODBC直接访问Access数据库。,由于数据库的实际名称和所处位置是在配置DSN时设置,因此,若数据库的实际位置发生了变化,我们只需修改DSN配置,而用不着改变源程序文件。,1.,使用DSN访问Access 2003数据库,修改DSN配置,其语句的格式为:,Set ObjLJ=Server.CreateObject(ADODB.Connection),创建对象实例,ObjLJ.ConnectionString=DSN=数据源名; UID=; PWD=;,数据库连接字符串,ObjLJ.Open 利用数据源名打开与数据库的连接,另一种较简单的样式,:,Set ObjLJ=Server.CreateObject(ADODB.Connection),创建对象实例,ObjLJ.Open=DSN=数据源名; UID=; PWD=;,利用数据源名打开与数据库的连接,2. 使用DSN访问SQL Server 2005数据库,我们要在名为jsjw的服务器上,配置数据库lhx的数据源名khdj,其操作步骤如下:,(1)单击“管理工具”中的“数据源(ODBC)”;在弹出的“ODBC数据源管理器”对话框中选择“系统DSN”标签,单击“添加”按钮;在弹出“创建新数据源”对话框中选中“SQL Server”项,单击“完成”按钮。,(2)在“创建到SQL Server的新数据源”对话框中,填入数据源名khdj;在连接SQL Server服务器文本框内填入服务器名(jsjw)或IP地址(如192.168.1.162或在本地调试可用127.0.0.1与localhost);对数据源描述的说明文本框中,可视情况填写。完成之后,单击“下一步”。,2. 使用DSN访问SQL Server 2005数据库,(3)进入下一步后,可以选中“使用网络登录ID的Windows NT验证”单击“下一步” 。若在Windows Server 2003下,应选中“使用用户输入登录ID和密码的SQL Server验证”和“连接SQL Server以获得其他配置选择的默认设置”;输入SQL Server 2005的登录ID和密码(如sa和lkd2009)。,(4)接下来在“创建到SQL Server的新数据源”对话框中,准备“更改默认的数据库”,选择所要访问的数据库(如lhx),单击“下一步”。,2. 使用DSN访问SQL Server 2005数据库,(5)完成以上操作进入“创建到SQL Server的新数据源”的下一步操作,在这里可以保持默认状态,也可选择系统语言为“Simplified Chinese”,单击“完成”。,(6)此时弹出的“ODBC Microsoft SQL Server安装”对话框,将给出所创建的ODBC数据源的设置状况。可以单击“测试数据源”(也可以直接单击“确定”)按钮,若测试通过,系统将在“SQL Server ODBC数据源测试”对话框中,返回测试成功信息。单击“确定”按钮完成。,6.4.2 DSN-less连接方式,1.使用DSN-less访问Access 2003数据库,2.使用DSN-less访问SQL Server 2005数据库,1. 使用DSN-less访问Access 2003数据库,DSN-less连接方式是未配置数据源名的连接方式,未,配置数据源名的连接方式是通过直接指定ODBC驱动程,序的名称去实现与数据库的连接。,ODBC驱动程序名,对应的数据库类型,SQL Server,Microsoft Access Driver (*.mdb),Microsoft ODBC for Oracle,Microsoft Visual FoxPro Driver,Microsoft FoxPro Driver (*.dbf),SQL Server,Microsoft Access,Oracle DataBase Server,Visual FoxPro,FoxPro,表6.2,常用的ODBC驱动程序名和与之对应数据库,2. 使用DSN-less访问SQL Server 2005数据库,使用DSN-less的优点是方便、灵活,只需按要求给出,驱动程序,变更系统时不需要考虑数据源的连接问,题,适用于经常要移动数据库系统的环境。,6.4.3 使用SQL Server的存储过程,存储过程是一组为完成特定功能的Transact-SQL语句集,其经编译后存储在数据库中。,存储过程可以作为一个独立的数据库对象,也可以作为一个单元被用户的应用程序调用。它既可以接收参数和输出参数,返回执行存储过程的状态值,还可以嵌套使用。,存储过程存储于远端服务器的数据库内,对数据的保密性相对要高一些,可以使数据更安全,运行更可靠。可以说任何一个设计良好的数据库应用程序都应该用到存储过程。,6.4.4 创建存储过程,进入SQL Server 2005打开已建好的数据库,单击鼠标右键,弹出快捷菜单,单击“新建存储过程”,见图,在弹出的“存储过程属性新建存储过程”对话框的文本栏目内写入要创建的存储过程,输入完成之后,单击“确定”按钮结束存储过程的创建。,若要修改存储过程,只需选中该存储过程,单击鼠标右键,在弹出的快捷菜单中,选择“属性”,即可进入“存储过程属性新建存储过程”对话框编辑、修改存储过程。,6.5 其他数据库连接,6.5.1 连接Visual FoxPro,6.5.2 连接Oracle数据库,6.5.1 连接Visual FoxPro,由于Visual FoxPro 6.0数据库库文件的扩展名是.dbc,它的表文件的扩展名是.dbf。所以dbf文件(包括早期的数据库文件)不是一个标准的数据库。,为了访问dbf文件把所有需要访问的dbf文件放置在一个目录(文件夹)下,再把目录名(文件夹名)看成是标准数据库的库名,这样其中的每一个dbf文件“自然”就相当于标准数据库的数据库表了。其主要的连接语句有:,6.5.1 连接Visual FoxPro,(1)使用ODBC连接方式访问Visual FoxPro 6.0数据,库的单一数据表(自由表)。,ObjConn.OpenDriver=Microsoft Visual FoxPro Driver; &_,SourceType=DBF;SourceDB= & Server.MapPath(rczp),(2)使用ODBC连接方式访问Visual FoxPro 6.0数据,库中的数据表。,ObjConn.OpenDriver=Microsoft Visual FoxPro Driver; &_,SourceType=DBC;SourceDB= & Server.MapPath(rcdata.dbc),6.5.1 连接Visual FoxPro,(3)使用DSN方式访问Visual FoxPro 6.0数据库的单,一数据表。,与Access、SQL Server配置数据源名的方法类似,打开“控制面板/管理工具/数据源/系统DSN/添加”。,在弹出的“创建新数据源”对话框中,选中“Microsoft Visual FoxPro Driver”。,完成之后,在弹出的“ODBC Visual FoxPro Setup”对话框中,填入DSN“rcvfp”;Description项可以缺省。,6.5.1 连接Visual FoxPro,(4)使用DSN方式访问Visual FoxPro 6.0数据库中的数,据表。,与配置数据源名不同的是在弹出的“ODBC Visual FoxPro Setup”,对话框中,填入DSN“rcvfp2”;Description项仍可缺省。,图6.6 配置数据库DSN,6.5.2 连接Oracle数据库,在ASP源程序中连接Oracle的主要语句为:,(1)采用ODBC方法连接Oracle数据库,ObjConn.Open PROVIDER=MSDASQL;,DRIVER=Microsoft ODBC for Oracle; & _,SERVER=MyOracleServer; UID=demo;PWD=demo;“,(2)采用数据源名的方法连接Oracle数据库,ObjConn.Open PROVIDER=MSDASQL; DSN=dsnOracle; UID=demo; PWD=demo;,6.5.2 连接Oracle数据库,设计一个含有各种数据库驱动程序的函数或过程,在,使用不同的数据库时,只需调用该函数就可以了。,程序2,#include,对各种数据库的操作,程序n,程序1,图6.6 使用包含文件访问不同的数据库,6.6 应用实例,网页间的转移,网页之间的转移可用不同的方法,Response对象的Redirect方法与Server对象的Transfer方法都是将当前网页转移到指定的URL(跳转),但两者在转移过程中,对网页当前环境参数的处理有所不同。,实例综合,本实例给出一个对已存储汽车数据进行修改、删除等操作的程序组,以帮助读者进一步了解三个对象的综合应用,系统图如下:,6.6 应用实例,汽车查询、修改的系统框图:,显示输出汽车信息,Lhx.mdb,表:cz,修改数据,Edit.asp,Find.asp,修改数据,删除数据,删除数据,Del.asp,数据写入,Editsend.asp,图6.7 汽车查询、修改系统框图,Main.asp,汽车查询/修改,6.7 小结,(1)Web数据库技术集计算机技术、网络技术和数据库技术为一,体,是数据库发展的必然方向。,(2)可以选择多种方案搭建Web服务器。,(3)可以使用配置“用户DSN”、“系统DSN”和“文件DSN”的方法,连接数据库,也可以使用DSN-less的方法连接数据库。,(4)Web数据库可以使用的数据库系统有多种,只要数据库系统,提供驱动程序,我们就可以实施异地远程访问。,(5)存储过程的优点。,(6)构建Web数据库系统的核心是数据库管理系统的设计,而数,据库管理系统设计的核心就是管理软件的开发。,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!