数据库程序设计.ppt

上传人:牧羊曲112 文档编号:5019753 上传时间:2023-05-29 格式:PPT 页数:47 大小:210KB
返回 下载 相关 举报
数据库程序设计.ppt_第1页
第1页 / 共47页
数据库程序设计.ppt_第2页
第2页 / 共47页
数据库程序设计.ppt_第3页
第3页 / 共47页
数据库程序设计.ppt_第4页
第4页 / 共47页
数据库程序设计.ppt_第5页
第5页 / 共47页
点击查看更多>>
资源描述

《数据库程序设计.ppt》由会员分享,可在线阅读,更多相关《数据库程序设计.ppt(47页珍藏版)》请在三一办公上搜索。

1、第5章 Web数据库程序设计,1 Web数据库访问技术2 ODBC接口3 数据库语言SQL4 使用ADO访问数据库 5 用Connection对象连接数据库6 用RecordSet对象控制数据7 用Command对象执行数据库操作8 程序设计举例,数据库应用系统在现有计算机软件中占有很大的比例 本章将着重介绍一种有效的Web数据库访问方案,即利用ASP服务器端的组件ActiveX Data Objects(ADO)实现对数据库的操作,5.1 Web数据库访问技术,5.1.1 概述Web数据库系统不能仅依赖某个DBMS来实现整个应用系统,它是通过其他Web应用程序,用标准的HTML语言及其某些特

2、定的扩展功能开发的、以特殊形式访问数据库的应用程序系统Web应用系统一般采用Browser/WebServer/ApplicationServer模式实现Web访问数据库的关键是与数据库服务器间的接口,5.1.2 CGI,CGI(Common Gateway Interface,公关网关接口)是一种接口标准,它使静态的Web页变为交互式的媒体成为可能,图6-1 通过CGI访问Web数据库模型,5.1.3 ODBC,ODBC(Open Database Connectivity,开放式数据库连接)是一个数据库编程接口,由微软公司建议并开发,图6-2 ODBC应用系统模型,5.1.4 JDBC,J

3、DBC是较早的Web开发平台,在Web应用中,嵌于网页(HTML文件)中的Java applets利用JDBC来访问数据库,图6-3 采用JDBC技术实现Web数据库访问模型,5.1.5 ADO,ADO(ActiveX Data Objects)是微软公司Web服务器端的内置组件,ADO允许程序员在编写程序时,通过一个OLEDB(数据库对象链接嵌入技术)提供者,如Microsoft SQL Server,Microsoft Access系统等,访问并操纵数据库服务器中的数据,图6-4 采用ADO技术实现Web数据库访问模型,5.2 ODBC接口,5.2.1 ODBC接口概述ODBC是微软公司建

4、议并开发的数据库API标准,ODBC为异种数据库提供了统一的访问接口,它使应用程序能用结构化的查询语言SQL访问数据库,从而对操作数据库的应用程序屏蔽了不同数据库管理系统的访问差异,也使数据库系统的开发不仅仅局限于某个DBMS,ODBC主要定义如下5方面的内容:ODBC函数库,它为应用程序提供连接DBMS、执行SQL语句、提取访问结果的程序接口SQL语法,它遵循X/Open and SQL Access Group Call Level Interface Specification标准错误代码连接、登录DBMS数据类型,5.2.2 ODBC的应用,一个ODBC应用的建立应涵盖以下主要内容:建

5、立需要操作数据库的应用程序,该程序通过调用ODBC函数提交SQL语句提供运行环境,该环境应包含数据库驱动程序,它负责处理ODBC函数调用,向数据源提交SQL请求,向应用程序返回结果,必要时将SQL语法翻译成符合DBMS语法规定的格式具有由用户数据库、DBMS等构成的可供应用程序访问的数据源,通过ODBC访问数据库的基本步骤如下:创立并配置数据源;建立一个与数据源的对话连接;向数据源发出SQL请求;定义一个缓冲区和数据格式用于存储访问结果;提取结果;处理各种错误;向用户报告结果;关闭与数据源的连接,5.2.3 创建并配置数据源,用户可通过如下两种方式创建或配置数据源:ODBC数据源管理程序或系统

6、函数调用配置一个Access数据源的过程如下:在Windows系统下进入控制面板,打开ODBC数据源,若是Windows 2000平台,则打开管理程序下的数据源ODBC,屏幕上将出现如图6-5所示的“ODBC数据源管理器”对话框,图6-5“ODBC数据源管理器”对话框,选择所使用的数据库驱动程序,如选择Microsoft Access Driver(*.mdb),单击“完成”按钮,出现如图6-7所示的对话框,图6-7“ODBC Microsoft Access安装”对话框,选择“系统DSN”标签,即选择“系统数据源”。要使系统上的所有应用程序都可以使用它,必须选用系统DSN,这是建立Web站点

7、的需要。单击“添加”按钮,进入“创建新数据源”对话框,如图6-6所示,图6-6“创建新数据源”对话框,在“数据源名”输入框中键入数据源名,单击“选择”按钮为该数据源指定一个已创建好的Access数据库(*.mdb),该数据库应该是在Web应用程序中即将访问的数据库。单击“确定”按钮,回到图6-6“创建新数据源”对话框。单击“确定”按钮直到关闭ODBC数据管理器,此时完成一个数据源的建立过程。若要修改该数据源的配置,可在图6-5“ODBC数据源管理器”对话框中选定要更改的数据源,再单击“配置”按钮,5.3 数据库语言SQL,5.3.1 SQL概述SQL(Structured Query Lang

8、uage,结构化查询语言)是一个被广泛采用、适用于关系数据库访问的数据库语言工业标准。它包括数据定义、数据操纵、数据查询和数据控制等语句标准。SQL具有以下4部分功能:数据定义用于定义数据模式。数据查询用于从数据库中检索数据。数据操纵用于对数据库数据进行增加、删除、修改等操作。数据控制用于控制数据库用户的访问权限,5.3.2 主要的SQL语句,查询语句SELECTSELECT是SQL的核心语句,它功能强大,和各类SQL子句结合可完成多种复杂的查询操作。其语法格式如下:SELECT ALL|DISTINCT fields_list INTO new_tablename FROM table_na

9、mes WHEREGROUP BYHAVINGORDER BY,插入数据语句INSERT INSERT可添加一个或多个记录到一个表中。INSERT有两种语法形式:INSERT INTO target IN externaldatabase(fields_list)DEFAULT VALUES|VALUES(DEFAULT|expression_list)INSERT INTO target IN externaldatabase fields_listSELECT|EXECUTE删除数据语句DELETEDELETE用于从一个或多个表中删除记录。其语法格式如下:DELETE FROM table

10、_namesWHERE,更新数据语句UPDATE UPDATE语句用于更新表中的记录。其语法格式如下:UPDATE table_nameSET Field_1=expression_1,Field_2=expression_2,FROM table1_name|view1_name,table2_name|view2_name,WHERE,5.4 使用ADO访问数据库,5.4.1 概述ADO(ActiveX Data Objects,ActiveX数据对象)技术是一种良好的Web数据库访问解决方案ADO是一个ASP内置的服务器组件,它是一座连接Web应用程序和OLEDB的桥梁ADO几乎兼容所有

11、的数据库系统ADO支持多种程序设计语言,5.4.2 ADO的对象类和对象模型,ADO技术是通过ADO对象的属性、方法来完成相应的数据库访问的。ADO共有以下7种独立对象类Connection连接对象,表示与数据源的连接关系Command命令对象,用于定义一些特定的命令语法,以执行相应的动作RecordSet记录集对象,用于表示来自数据库表或命令执行结果的记录Property属性对象,用于描述对象的属性,每个ADO对象都有一组惟一的属性来描述或控制对象的行为,Error错误对象,用于描述Connection对象在连接数据库时发生的错误Field域(字段)对象,用来表示RecordSet对象的字段

12、,一个记录行包含一个或多个域(字段)Parameter参数对象,用来描述Command对象的命令参数,是命令所需要的变量部分,图6-8 ADO对象模型,5.4.3 ADO样例,【例】网络导航Easy6-1.asp6-2.asp6-3.asp6-4.asp,5.5 ADO Connection对象,1、建立和关闭connection对象实例:2、使用connection对象连接数据库:set db=Server.CreateObject(ADODB.Connection)db.Open DBQ=“,3、Connection对象的属性,Commandtimeout:设置connection对象的e

13、xecute方法的执行时间。默认30秒,0值为无限期等待,直到执行结束。ConnectionString:指定Connection对象的数据库链接信息。打开数据库除了open 方法,可以如下:,ConnectionTimeout:指定open方法与数据库链接的的执行截至时间,默认30秒。DefaultDatabase:在多个数据库中指定默认者。Mode:设置连接数据库的权限。0:为定义1:只读2:只写3:可读可写,3、Connection对象的属性,Version:显示ADO对象的版本信息,3、Connection对象的属性,4、Connection对象的方法,Open:建立和数据库的连接Op

14、en方法的参数:Dsn:odbc数据源名称User:数据库登陆账号Password:数据库登陆密码Driver:数据库类型Dbq:数据库物理路径,Close:关闭Connection对象与数据库的连接Execute:执行数据库查询、SQL语句(查询、添加、删除、更新等)格式:set Recordset对象=Connection对象.Execute(SQL字符串)或Connection对象.Execute(SQL字符串),4、Connection对象的方法,BeginTrans:开始事务的处理Connection对象.BeginTransCommitTrans:提交事务处理结果Connectio

15、n对象.CommitTrans(执行该方法后,才真正更新数据库)RollbackTrans:取消事务处理结果Connection对象.RollbackTrans以上三种方法结合起来将增加数据库程序的可靠性。,4、Connection对象的方法,5、数据库查询操作,方法一:set rs=server.createobject(ADODB.Recordset)strquery=select*from personrs.open strquery,db方法二:,5.6 ADO RecordSet对象,用来操作数据库的记录集(是表记录的集合,用来对单个记录操作)1、创建Recordset对象(5种方法

16、:RecordSet.asp)或 先和数据库相连(显示建立Connection对象),2、存取数据库,读取数据记录:利用RecordSet对象读取记录既是对字段的访问。对于一个RecordSet对象,字段名和字段的顺序号均可标识一个字段。移动记录指针的方法:rs.方法MovefirstMovenextMovepreviousMovelastmove 添加数据记录:,3、Recordset对象的属性,返回记录集,了解当前记录集的特征,得知记录数,设置记录页的大小,得到或设置当前指针的绝对位置。对象属性根据功能可分为如下几组:第一组属性限定记录集的内容和性质,在打开记录前设置。Source:设置数

17、据库查询信息Activeconnection:设置数据库连接信息cursorType:设置记录集指针类型Locktype:设置记录集的锁定类型MaxRecors:控制从服务器上得到的最大记录数cursorLocation:设置记录集在客户端还是在服务器端处理Filter:设置要显示的内容,第二组属性是关于记录的,在打开记录集后读取。Recordcount:返回记录总数Var=rescordset.recordcountBof:判断当前记录指针是否在记录的开头Eof:判断当前记录指针是否在记录的尾部,3、Recordset对象的属性,第三组属性完成数据分页显示的功能,在打开记录集后再设。Page

18、size:设置数据分页显示时每页的记录数。Pagecount:设置数据分页显示时数据页的总数。Absolutepage:设置当前指针位于哪页。Absoluteposition:设置当前指针所在的记录行的绝对值。,3、Recordset对象的属性,4、Recordset对象的方法,OpenCloseRequeryMovefirstMoveproviousMovenextMovelastMove number,startAddnew和Delete,Update用法:或 rs.update fields,valuesCancelupdateGetrows(rows,start,fields)Resy

19、nc:客户端和服务器端,举例:,9-1:数据库基本操作9-2:利用connection的execute方法维护数据库9-7:利用recordset对象查询记录9-8:利用recordset对象分页显示记录9-9:利用recordset对象更新记录9-10:利用recordset对象更新记录,5.7 用Command对象执行数据库操作,5.7.1 Command对象的常用属性和方法执行SQL语句可以用打开的Connection对象,也可以用ADO的Command(命令)对象达到同样的目的。Command对象的常用属性和方法如下:ActiveConnection属性指定与Command对象关联的已

20、打开 的连接 对象。Name属性指定Command对象的名字。CommandText属性定义一个可执行的命令串。CommandType属性指定命令的类型。Execute方法执行命令,5.7.2 用Command对象执行SQL语句,【例】用Command对象的Execute方法从sales表中检索出所有记录。源程序如下:,5.7.3 用Command对象调用存储过程,在Web数据库程序设计中使用SQL存储过程有下列好处:执行SQL存储过程比执行SQL命令快得多。当一个SQL语句包含在存储过程中时,服务器不必每次执行它时都要分析和编译它。在多个网页中可以调用同一个存储过程,使站点易于维护。一个存储

21、过程可以包含多个SQL语句,这意味着可用存储过程建立复杂的查询。存储过程可以接收和返回参数,这是实现复杂数据库访问功能的必要基础。,存储过程的调用形式 存储过程的调用也是一个Command对象的执行过程【例】实现对存储过程HitCount的调用。源程序如下:,用Parameter对象实现存储过程的参数传递Parameter对象代表基于参数化查询或与存储过程的Command对象相关联的输入、输出参数及存储过程的返回值。用Command对象的CreateParameter方法可以建立一个参数对象,其语法格式如下:CreateParameter(Name,Type,Direction,Size,Va

22、lue),本 章 小 结,本章着重介绍了一种有效的Web数据库解决方案,即利用ASP服务器端的组件ActiveX Data Objects(ADO)访问数据库ADO共有7个对象类利用Command对象的Parameters参数集合可以实现有参数交换的复杂数据库查询功能 RecordSet对象的许多属性和方法可以有效地完成对数据记录的遍历、修改和其他控制,Web程序开发实例,留言板 用来记载反馈信息,可以有多种方法实现。利用Application对象记载,但当停止服务后,信息会丢失。利用一个文本文件保存。利用数据库。,1、留言板的设计:简单实用、美观大方。显示留言、添加留言、删除留言2、留言板的实现:guest.mdb:存储留言信息index.asp:显示留言信息和添加留言表单odbc_connection.asp:链接数据库文件add.asp:添加留言文件delete.asp:删除留言文件,留言板,1、设计:发表文章、回复文章、统计单击次数和回复文章次数等设计思想。2、实现:bbs.mdb:index.asp:分页显示文章信息odbc_connection.asp:function.asp:保存子程序count_hits.asp:计算单击次数文件particular.asp:显示文章具体内容announce.asp:发表新文章re_announce.asp:回复文章,BBS论坛,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号