web程序设计CH5 Web数据库程序设计_第1页
已阅读1页,还剩46页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、精选ppt第第5 5章章 WebWeb数据库程序设计数据库程序设计 l1 Web数据库访问技术数据库访问技术l2 ODBC接口接口l3 数据库语言数据库语言SQLl4 使用使用ADO访问数据库访问数据库 l5 用用Connection对象连对象连接数据库接数据库l6 用用RecordSet对象控对象控制数据制数据l7 用用Command对象执行对象执行数据库操作数据库操作l8 程序设计举例程序设计举例l数据库应用系统在现有数据库应用系统在现有计算机软件中占有很大计算机软件中占有很大的比例的比例 l本章将着重介绍一种有本章将着重介绍一种有效的效的Web数据库访问方数据库访问方案,即利用案,即利用

2、ASP服务器服务器端的组件端的组件ActiveX Data Objects(ADO)实现对)实现对数据库的操作数据库的操作 精选ppt5.1 Web5.1 Web数据库访问技术数据库访问技术5.1.1 5.1.1 概述概述lWeb数据库系统不能仅依赖某个数据库系统不能仅依赖某个DBMS来实现整个应用来实现整个应用系统,它是通过其他系统,它是通过其他Web应用程序,用标准的应用程序,用标准的HTML语语言及其某些特定的扩展功能开发的、以特殊形式访问数言及其某些特定的扩展功能开发的、以特殊形式访问数据库的应用程序系统据库的应用程序系统lWeb应用系统一般采用应用系统一般采用Browser/WebS

3、erver/ApplicationServer模式实现模式实现lWeb访问数据库的关键是与数据库服务器间的接口访问数据库的关键是与数据库服务器间的接口精选ppt5.1.2 CGI5.1.2 CGIlCGI(Common Gateway Interface,公关网关接口),公关网关接口)是一种接口标准,它使静态的是一种接口标准,它使静态的Web页变为交互式的媒体页变为交互式的媒体成为可能成为可能图6-1 通过CGI访问Web数据库模型精选ppt5.1.3 ODBC5.1.3 ODBC lODBC(Open Database Connectivity,开放式数据,开放式数据库连接)是一个数据库编程

4、接口,由微软公司建议并开库连接)是一个数据库编程接口,由微软公司建议并开发发 图6-2 ODBC应用系统模型 精选ppt5.1.4 JDBC5.1.4 JDBClJDBC是较早的是较早的Web开发平台,在开发平台,在Web应用中,嵌于网应用中,嵌于网页(页(HTML文件)中的文件)中的Java applets利用利用JDBC来访问来访问数据库数据库 图6-3 采用JDBC技术实现Web数据库访问模型 精选ppt5.1.5 ADO5.1.5 ADOlADO(ActiveX Data Objects)是微软公司)是微软公司Web服务服务器端的内置组件,器端的内置组件,ADO允许程序员在编写程序时,

5、通允许程序员在编写程序时,通过一个过一个OLEDB(数据库对象链接嵌入技术)提供者,(数据库对象链接嵌入技术)提供者,如如Microsoft SQL Server,Microsoft Access系统等,系统等,访问并操纵数据库服务器中的数据访问并操纵数据库服务器中的数据 图6-4 采用ADO技术实现Web数据库访问模型精选ppt5.2 ODBC5.2 ODBC接口接口l5.2.1 ODBC5.2.1 ODBC接口概述接口概述lODBC是微软公司建议并开发的数据库是微软公司建议并开发的数据库API标准,标准,ODBC为异种数据库提供了统一的访问接口,它使为异种数据库提供了统一的访问接口,它使应

6、用程序能用结构化的查询语言应用程序能用结构化的查询语言SQL访问数据库,访问数据库,从而对操作数据库的应用程序屏蔽了不同数据库管从而对操作数据库的应用程序屏蔽了不同数据库管理系统的访问差异,也使数据库系统的开发不仅仅理系统的访问差异,也使数据库系统的开发不仅仅局限于某个局限于某个DBMS 精选pptlODBC主要定义如下主要定义如下5方面的内容方面的内容:lODBC函数库,它为应用程序提供连接函数库,它为应用程序提供连接DBMS、执、执行行SQL语句、提取访问结果的程序接口语句、提取访问结果的程序接口lSQL语法,它遵循语法,它遵循X/Open and SQL Access Group Cal

7、l Level Interface Specification标准标准l错误代码错误代码l连接、登录连接、登录DBMS1.数据类型数据类型精选ppt5.2.2 ODBC5.2.2 ODBC的应用的应用l一个一个ODBC应用的建立应涵盖以下主要内容应用的建立应涵盖以下主要内容:l建立需要操作数据库的应用程序,该程序通过调用建立需要操作数据库的应用程序,该程序通过调用ODBC函数提交函数提交SQL语句语句l提供运行环境,该环境应包含数据库驱动程序,它提供运行环境,该环境应包含数据库驱动程序,它负责处理负责处理ODBC函数调用,向数据源提交函数调用,向数据源提交SQL请求,请求,向应用程序返回结果,

8、必要时将向应用程序返回结果,必要时将SQL语法翻译成符语法翻译成符合合DBMS语法规定的格式语法规定的格式1.具有由用户数据库、具有由用户数据库、DBMS等构成的可供应用程序等构成的可供应用程序访问的数据源访问的数据源 精选pptl通过通过ODBC访问数据库的基本步骤如下:访问数据库的基本步骤如下:创立并配置数据源;创立并配置数据源;建立一个与数据源的对话连接;建立一个与数据源的对话连接;向数据源发出向数据源发出SQL请求;请求;定义一个缓冲区和数据格式用于存储访问结果;定义一个缓冲区和数据格式用于存储访问结果;提取结果;提取结果;处理各种错误;处理各种错误;向用户报告结果;向用户报告结果;关

9、闭与数据源的连接关闭与数据源的连接 精选ppt5.2.3 5.2.3 创建并配置数据源创建并配置数据源l用户可通过如下两种方式创建或配置数据源:用户可通过如下两种方式创建或配置数据源:ODBC数数据源管理程序或系统函数调用据源管理程序或系统函数调用l配置一个配置一个Access数据源的过程如下:数据源的过程如下:l在在Windows系统下进入控制面板,打开系统下进入控制面板,打开ODBC数据源,若是数据源,若是Windows 2000平台,则打开管理程序下的数据源平台,则打开管理程序下的数据源ODBC,屏幕上,屏幕上将出现如图将出现如图6-5所示的所示的“ODBC数据源管理器数据源管理器”对话

10、框对话框图6-5 “ODBC数据源管理器”对话框精选pptl选择所使用的数据库驱动程序,如选择选择所使用的数据库驱动程序,如选择Microsoft Access Driver (*.mdb),单击,单击“完成完成”按钮,出现如按钮,出现如图图6-7所示的对话框所示的对话框图6-7 “ODBC Microsoft Access安装”对话框 精选pptl选择选择“系统系统DSN”标签,即选择标签,即选择“系统数据源系统数据源”。要使。要使系统上的所有应用程序都可以使用它,必须选用系统系统上的所有应用程序都可以使用它,必须选用系统DSN,这是建立,这是建立Web站点的需要。站点的需要。l单击单击“添

11、加添加”按钮,进入按钮,进入“创建新数据源创建新数据源”对话框,如对话框,如图图6-6所示所示图6-6 “创建新数据源”对话框精选pptl在在“数据源名数据源名”输入框中键入数据源名,单击输入框中键入数据源名,单击“选择选择”按钮为该数据源指定一个已创建好的按钮为该数据源指定一个已创建好的Access数据库(数据库(*.mdb),该数据库应该是在),该数据库应该是在Web应用程序中即将访问的数据库。单击应用程序中即将访问的数据库。单击“确确定定”按钮,回到图按钮,回到图6-6“创建新数据源创建新数据源”对话框。对话框。单击单击“确定确定”按钮直到关闭按钮直到关闭ODBC数据管理器,数据管理器,

12、此时完成一个数据源的建立过程。若要修改该此时完成一个数据源的建立过程。若要修改该数据源的配置,可在图数据源的配置,可在图6-5“ODBC数据源管理数据源管理器器”对话框中选定要更改的数据源,再单击对话框中选定要更改的数据源,再单击“配置配置”按钮按钮 精选ppt5.3 5.3 数据库语言数据库语言SQLSQL5.3.1 SQL概述概述lSQL(Structured Query Language,结构化查询语言)是一个,结构化查询语言)是一个被广泛采用、适用于关系数据库访问的数据库语言工业标准。它被广泛采用、适用于关系数据库访问的数据库语言工业标准。它包括数据定义、数据操纵、数据查询和数据控制等

13、语句标准。包括数据定义、数据操纵、数据查询和数据控制等语句标准。lSQL具有以下具有以下4部分功能:部分功能:数据定义数据定义用于定义数据模式。用于定义数据模式。数据查询数据查询用于从数据库中检索数据。用于从数据库中检索数据。数据操纵数据操纵用于对数据库数据进行增加、删除、用于对数据库数据进行增加、删除、 修改等操作。修改等操作。数据控制数据控制用于控制数据库用户的访问权限用于控制数据库用户的访问权限 精选ppt5.3.2 主要的主要的SQL语句语句l查询语句查询语句SELECTlSELECT是是SQL的核心语句,它功能强大,的核心语句,它功能强大,和各类和各类SQL子句结合可完成多种复杂的查

14、子句结合可完成多种复杂的查询操作。其语法格式如下:询操作。其语法格式如下: SELECT ALL | DISTINCT fields_list INTO new_tablename FROM table_names WHEREGROUP BYHAVINGORDER BY精选pptl插入数据语句插入数据语句INSERT lINSERT可添加一个或多个记录到一个表中。可添加一个或多个记录到一个表中。INSERT有两种有两种语法形式:语法形式:lINSERT INTO target IN externaldatabase (fields_list)DEFAULT VALUES|VALUES(DEFA

15、ULT|expression_list)lINSERT INTO target IN externaldatabase fields_listSELECT|EXECUTEl删除数据语句删除数据语句DELETElDELETE用于从一个或多个表中删除记录。其语法格式如下:用于从一个或多个表中删除记录。其语法格式如下:DELETE FROM table_namesWHERE精选pptl更新数据语句更新数据语句UPDATE lUPDATE语句用于更新表中的记录。其语语句用于更新表中的记录。其语法格式如下:法格式如下:UPDATE table_nameSET Field_1=expression_1,F

16、ield_2=expression_2,FROM table1_name|view1_name,table2_name|view2_name,WHERE 精选ppt5.4 使用ADO访问数据库5.4.1 5.4.1 概述概述lADO(ActiveX Data Objects,ActiveX数据数据对象)技术是一种良好的对象)技术是一种良好的Web数据库访问解决数据库访问解决方案方案lADO是一个是一个ASP内置的服务器组件,它是一座内置的服务器组件,它是一座连接连接Web应用程序和应用程序和OLEDB的桥梁的桥梁lADO几乎兼容所有的数据库系统几乎兼容所有的数据库系统lADO支持多种程序设计语

17、言支持多种程序设计语言精选ppt5.4.2 ADO5.4.2 ADO的对象类和对象模型的对象类和对象模型lADO技术是通过技术是通过ADO对象的属性、方法来完成相应对象的属性、方法来完成相应的数据库访问的。的数据库访问的。ADO共有以下共有以下7种独立对象类种独立对象类lConnection连接对象,表示与数据源的连接连接对象,表示与数据源的连接关系关系lCommand命令对象,用于定义一些特定的命令对象,用于定义一些特定的命令语法,以执行相应的动作命令语法,以执行相应的动作lRecordSet记录集对象,用于表示来自数据记录集对象,用于表示来自数据库表或命令执行结果的记录库表或命令执行结果的

18、记录lProperty属性对象,用于描述对象的属性,属性对象,用于描述对象的属性,每个每个ADO对象都有一组惟一的属性来描述或控制对象都有一组惟一的属性来描述或控制对象的行为对象的行为精选pptlError错误对象,用于描述错误对象,用于描述Connection对象在连接对象在连接数据库时发生的错误数据库时发生的错误lField域(字段)对象,用来表示域(字段)对象,用来表示RecordSet对象对象的字段,一个记录行包含一个或多个域(字段)的字段,一个记录行包含一个或多个域(字段)lParameter参数对象,用来描述参数对象,用来描述Command对象的对象的命令参数,是命令所需要的变量部

19、分命令参数,是命令所需要的变量部分图6-8 ADO对象模型精选ppt5.4.3 ADO5.4.3 ADO样例样例l【例】【例】 网络导航网络导航lEasy 精选ppt5.5 ADO Connection对象1、建立和关闭、建立和关闭connection对象实例:对象实例:2、使用、使用connection对象连接数据库:对象连接数据库:set db=Server.CreateObject(ADODB.Connection) DBQ=“&server.mappath(db1.mdb)&DRIVER=Microsoft Access Driver (*.mdb); 精选ppt3、C

20、onnection对象的属性对象的属性Commandtimeout:设置connection对象的execute方法的执行时间。默认30秒,0值为无限期等待,直到执行结束。lConnectionString:指定Connection对象的数据库链接信息。l打开数据库除了open 方法,可以如下:l精选pptlConnectionTimeout:指定open方法与数据库链接的的执行截至时间,默认30秒。lDefaultDatabase:在多个数据库中指定默认者。lMode:设置连接数据库的权限。l0:为定义l1:只读l2:只写l3:可读可写3、Connection对象的属性对象的属性精选pptl

21、Version:显示ADO对象的版本信息 3、Connection对象的属性对象的属性精选ppt4、Connection对象的方法lOpen:建立和数据库的连接lOpen方法的参数:lDsn:odbc数据源名称lUser:数据库登陆账号lPassword:数据库登陆密码lDriver:数据库类型lDbq:数据库物理路径精选pptlClose:关闭Connection对象与数据库的连接lExecute:执行数据库查询、SQL语句(查询、添加、删除、更新等)格式:set Recordset对象=Connection对象.Execute(SQL字符串) 或Connection对象. Execute(

22、SQL字符串)4、Connection对象的方法精选ppt精选pptlBeginTrans :开始事务的处理lCommitTrans:提交事务处理结果(执行该方法后,才真正更新数据库)lRollbackTrans:取消事务处理结果以上三种方法结合起来将增加数据库程序的可靠性。4、Connection对象的方法精选ppt5、数据库查询操作l方法一:set rs=server.createobject(ADODB.Recordset)strquery=select * from personrs.open strquery,dbl方法二:精选ppt5.6 ADO RecordSet对象l用来操作数

23、据库的记录集(是表记录的集合,用来对单个记录操作)1、创建Recordset对象(5种方法:RecordSet.asp)或 先和数据库相连(显示建立Connection对象)精选ppt2、存取数据库l读取数据记录:l利用RecordSet对象读取记录既是对字段的访问。对于一个RecordSet对象,字段名和字段的顺序号均可标识一个字段。l移动记录指针的方法:lMovefirstlMovenextlMovepreviouslMovelastlmove l添加数据记录: 精选ppt3、Recordset对象的属性返回记录集,了解当前记录集的特征,得知记录数,设置记录页的大小,得到或设置当前指针的绝

24、对位置。 对象属性根据功能可分为如下几组:l第一组属性限定记录集的内容和性质,在打开记录前设置第一组属性限定记录集的内容和性质,在打开记录前设置。lSource:设置数据库查询信息lActiveconnection:设置数据库连接信息lcursorType:设置记录集指针类型lLocktype: 设置记录集的锁定类型lMaxRecors:控制从服务器上得到的最大记录数lcursorLocation:设置记录集在客户端还是在服务器端处理lFilter:设置要显示的内容精选pptl第二组属性是关于记录的,在打开记录集后读取。第二组属性是关于记录的,在打开记录集后读取。lRecordcount:返回

25、记录总数lBof:判断当前记录指针是否在记录的开头lEof:判断当前记录指针是否在记录的尾部3、Recordset对象的属性精选pptl第三组属性完成数据分页显示的功能,在打开第三组属性完成数据分页显示的功能,在打开记录集后再设记录集后再设。lPagesize:设置数据分页显示时每页的记录数。lPagecount:设置数据分页显示时数据页的总数。lAbsolutepage:设置当前指针位于哪页。lAbsoluteposition:设置当前指针所在的记录行的绝对值。3、Recordset对象的属性精选ppt4、Recordset对象的方法lOpenlCloselRequerylMovefirst

26、lMoveproviouslMovenextlMovelastlMove number,startlAddnew和DeletelUpdatel用法: 或 rs.update fields,valueslCancelupdatelGetrows(rows,start,fields)lResync:客户端和服务器端精选ppt举例:l9-1:数据库基本操作l9-2:利用connection的execute方法维护数据库l9-7:利用recordset对象查询记录l9-8:利用利用recordset对象分页显示记录对象分页显示记录l9-9:利用recordset对象更新记录l9-10:利用record

27、set对象更新记录精选ppt5.7 5.7 用用CommandCommand对象执行数据库操作对象执行数据库操作5.7.1 Command5.7.1 Command对象的常用属性和方法对象的常用属性和方法执行执行SQL语句可以用打开的语句可以用打开的Connection对象,也可以对象,也可以用用ADO的的Command(命令)对象达到同样的目的。(命令)对象达到同样的目的。Command对象的常用属性和方法如下:对象的常用属性和方法如下:ActiveConnection属性指定与Command对象关联的已打开 的连接 对象。Name属性指定Command对象的名字。CommandText属性

28、定义一个可执行的命令串。CommandType属性指定命令的类型。Execute方法执行命令精选ppt5.7.2 5.7.2 用用CommandCommand对象执行对象执行SQLSQL语句语句l【例】【例】 用用Command对象的对象的Execute方法从方法从sales表中表中检索出所有记录。源程序如下检索出所有记录。源程序如下: 精选ppt5.7.3 用Command对象调用存储过程 l在在Web数据库程序设计中使用数据库程序设计中使用SQL存储过程有存储过程有下列好处:下列好处:l执行执行SQL存储过程比执行存储过程比执行SQL命令快得多。当一个命令快得多。当一个SQL语句包含在存储

29、过程中时,服务器不必每次执行语句包含在存储过程中时,服务器不必每次执行它时都要分析和编译它。它时都要分析和编译它。l在多个网页中可以调用同一个存储过程,使站点易于在多个网页中可以调用同一个存储过程,使站点易于维护。维护。l一个存储过程可以包含多个一个存储过程可以包含多个SQL语句,这意味着可用语句,这意味着可用存储过程建立复杂的查询。存储过程建立复杂的查询。a.存储过程可以接收和返回参数,这是实现复杂数据库存储过程可以接收和返回参数,这是实现复杂数据库访问功能的必要基础访问功能的必要基础。 精选pptl存储过程的调用形式存储过程的调用形式 l存储过程的调用也是一个存储过程的调用也是一个Command对象的执行过程对象的执行过程【例】 实现对存储过程实现对存储过程HitCount的调用。源程序如下:的调用。源程序如下: 精选pptl用用Pa

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论