




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第6章 Web数据库程序设计,1 Web数据库访问技术 2 ODBC接口 3 数据库语言SQL 4 使用ADO访问数据库 5 用Connection对象连接数据库 6 用Command对象执行数据库操作 7 用RecordSet对象控制数据 8 程序设计举例网站会员登录与数据修改 本 章 小 结,数据库应用系统在现有计算机软件中占有很大的比例 本章将着重介绍一种有效的Web数据库访问方案,即利用ASP服务器端的组件ActiveX Data Objects(ADO)实现对数据库的操作,6.1 Web数据库访问技术,6.1.1 概述 Web数据库系统不能仅依赖某个DBMS来实现整个应用系统,它是通
2、过其他Web应用程序,用标准的HTML语言及其某些特定的扩展功能开发的、以特殊形式访问数据库的应用程序系统 Web应用系统一般采用Browser/WebServer/ApplicationServer模式实现 Web访问数据库的关键是与数据库服务器间的接口,6.1.2 CGI,CGI(Common Gateway Interface,公关网关接口)是一种接口标准,它使静态的Web页变为交互式的媒体成为可能,图6-1 通过CGI访问Web数据库模型,6.1.3 ODBC,ODBC(Open Database Connectivity,开放式数据库连接)是一个数据库编程接口,由微软公司建议并开发,
3、图6-2 ODBC应用系统模型,6.1.4 JDBC,JDBC是较早的Web开发平台,在Web应用中,嵌于网页(HTML文件)中的Java applets利用JDBC来访问数据库,图6-3 采用JDBC技术实现Web数据库访问模型,6.1.5 ADO,ADO(ActiveX Data Objects)是微软公司Web服务器端的内置组件,ADO允许程序员在编写程序时,通过一个OLEDB(数据库对象链接嵌入技术)提供者,如Microsoft SQL Server,Microsoft Access系统等,访问并操纵数据库服务器中的数据,图6-4 采用ADO技术实现Web数据库访问模型,6.2 ODB
4、C接口,6.2.1 ODBC接口概述 ODBC是微软公司建议并开发的数据库API标准,ODBC为异种数据库提供了统一的访问接口,它使应用程序能用结构化的查询语言SQL访问数据库,从而对操作数据库的应用程序屏蔽了不同数据库管理系统的访问差异,也使数据库系统的开发不仅仅局限于某个DBMS,ODBC主要定义如下5方面的内容: ODBC函数库,它为应用程序提供连接DBMS、执行SQL语句、提取访问结果的程序接口 SQL语法,它遵循X/Open and SQL Access Group Call Level Interface Specification标准 错误代码 连接、登录DBMS 数据类型,6.
5、2.2 ODBC的应用,一个ODBC应用的建立应涵盖以下主要内容: 建立需要操作数据库的应用程序,该程序通过调用ODBC函数提交SQL语句 提供运行环境,该环境应包含数据库驱动程序,它负责处理ODBC函数调用,向数据源提交SQL请求,向应用程序返回结果,必要时将SQL语法翻译成符合DBMS语法规定的格式 具有由用户数据库、DBMS等构成的可供应用程序访问的数据源,通过ODBC访问数据库的基本步骤如下: 创立并配置数据源; 建立一个与数据源的对话连接; 向数据源发出SQL请求; 定义一个缓冲区和数据格式用于存储访问结果; 提取结果; 处理各种错误; 向用户报告结果; 关闭与数据源的连接,6.2.
6、3 创建并配置数据源,用户可通过如下两种方式创建或配置数据源:ODBC数据源管理程序或系统函数调用 配置一个Access数据源的过程如下: 在Windows系统下进入控制面板,打开ODBC数据源,若是Windows 2000平台,则打开管理程序下的数据源ODBC,屏幕上将出现如图6-5所示的“ODBC数据源管理器”对话框,图6-5 “ODBC数据源管理器”对话框,选择所使用的数据库驱动程序,如选择Microsoft Access Driver (*.mdb),单击“完成”按钮,出现如图6-7所示的对话框,图6-7 “ODBC Microsoft Access安装”对话框,选择“系统DSN”标签
7、,即选择“系统数据源”。要使系统上的所有应用程序都可以使用它,必须选用系统DSN,这是建立Web站点的需要。 单击“添加”按钮,进入“创建新数据源”对话框,如图6-6所示,图6-6 “创建新数据源”对话框,在“数据源名”输入框中键入数据源名,单击“选择”按钮为该数据源指定一个已创建好的Access数据库(*.mdb),该数据库应该是在Web应用程序中即将访问的数据库。单击“确定”按钮,回到图6-6“创建新数据源”对话框。单击“确定”按钮直到关闭ODBC数据管理器,此时完成一个数据源的建立过程。若要修改该数据源的配置,可在图6-5“ODBC数据源管理器”对话框中选定要更改的数据源,再单击“配置”
8、按钮,6.3 数据库语言SQL,6.3.1 SQL概述 SQL(Structured Query Language,结构化查询语言)是一个被广泛采用、适用于关系数据库访问的数据库语言工业标准。它包括数据定义、数据操纵、数据查询和数据控制等语句标准。 SQL具有以下4部分功能: 数据定义用于定义数据模式。 数据查询用于从数据库中检索数据。 数据操纵用于对数据库数据进行增加、删除、 修改等操作。 数据控制用于控制数据库用户的访问权限,6.3.2 主要的SQL语句,查询语句SELECT SELECT是SQL的核心语句,它功能强大,和各类SQL子句结合可完成多种复杂的查询操作。其语法格式如下: SEL
9、ECT ALL | DISTINCT fields_list INTO new_tablename FROM table_names WHERE GROUP BY HAVING ORDER BY,插入数据语句INSERT INSERT可添加一个或多个记录到一个表中。INSERT有两种语法形式: INSERT INTO target IN externaldatabase (fields_list) DEFAULT VALUES|VALUES(DEFAULT|expression_list) INSERT INTO target IN externaldatabase fields_list S
10、ELECT|EXECUTE 删除数据语句DELETE DELETE用于从一个或多个表中删除记录。其语法格式如下: DELETE FROM table_names WHERE,更新数据语句UPDATE UPDATE语句用于更新表中的记录。其语法格式如下: UPDATE table_name SET Field_1=expression_1,Field_2=expression_2, FROM table1_name|view1_name,table2_name|view2_name, WHERE,6.4 使用ADO访问数据库,6.4.1 概述 ADO(ActiveX Data Objects,A
11、ctiveX数据对象)技术是一种良好的Web数据库访问解决方案 ADO是一个ASP内置的服务器组件,它是一座连接Web应用程序和OLEDB的桥梁 ADO几乎兼容所有的数据库系统 ADO支持多种程序设计语言,6.4.2 ADO的对象类和对象模型,ADO技术是通过ADO对象的属性、方法来完成相应的数据库访问的。ADO共有以下7种独立对象类 Connection连接对象,表示与数据源的连接关系 Command命令对象,用于定义一些特定的命令语法,以执行相应的动作 RecordSet记录集对象,用于表示来自数据库表或命令执行结果的记录 Property属性对象,用于描述对象的属性,每个ADO对象都有一
12、组惟一的属性来描述或控制对象的行为,Error错误对象,用于描述Connection对象在连接数据库时发生的错误 Field域(字段)对象,用来表示RecordSet对象的字段,一个记录行包含一个或多个域(字段) Parameter参数对象,用来描述Command对象的命令参数,是命令所需要的变量部分,图6-8 ADO对象模型,6.4.3 ADO样例,【例6-10】 以下是一个视频网站中某个页面的源代码(ch6-10.asp),它完成在页面上列出数据库表中所有电影的名称、影片级别及主要演员的功能。存放这些电影信息的数据库表名为films,点击查看程序,6.5 用Connection对象连接数据
13、库,6.5.1 Connection对象的常用属性和方法 Connection对象的常用属性: Mode用于设置数据的可用权限,其属性 值是系统定义的一些常量,只 能在关闭Connection对象时设置。 State指明Connection对象的当前状态, 包括关闭、打开、正在连接、正在执 行命令等。 ConnectionTimeout设置对象建立连接操作失败时的等 待时间。 DefaultDatabase设置连接数据源的默认数据库。 ConnectionString设置连接数据源的一些信息,Connection对象的常用方法: Open 用于建立到数据源的物理连接。 Execute 用于执行
14、指定的查询、SQL语句、存储过程 或特定的文本。 Cancel 用于取消用异步方式执行的Execute或 Open方法的调用。 Close用于关闭一个连接。在对Connection对象 操作结束时,使用Close方法释放所有与之关 联的系统资源,6.5.2 打开和关闭数据库连接,打开Connection对象 打开Connection对象的Open方法的语法格式如下: Open (ConnectionString, UserID, Password , Options ) 关闭Connection对象 关闭Connection对象的Close方法的语法格式如下:对象实例名.Close 【例6-1
15、1】 以下是一段使用连接对象的代码,可以反映连接对象应用的基本步骤,查看程序,6.5.3 通过Connection对象执行SQL语句,打开Connection对象后,可以通过对象的Execute方法实现SQL语句的执行过程。 Execute方法的语法格式如下: Execute (CommandText , RecordsAffected , Option) 【例6-12】 下列代码从数据库表sales中检索出所有记录并返回记录数。,点击查看程序,6.5.4 Connection对象的事务处理,【例6-14】 本例是进行事务处理的一段代码 ,6.6 用Command对象执行数据库操作,6.6.1
16、 Command对象的常用属性和方法 执行SQL语句可以用打开的Connection对象,也可以用ADO的Command(命令)对象达到同样的目的。 Command对象的常用属性和方法如下: ActiveConnection属性指定与Command对象关联的已打开 的连接 对象。 Name属性指定Command对象的名字。 CommandText属性定义一个可执行的命令串。 CommandType属性指定命令的类型。 Execute方法执行命令,6.6.2 用Command对象执行SQL语句,【例6-16】 用Command对象的Execute方法从sales表中检索出所有记录。源程序如下:
17、,6.6.3 用Command对象调用存储过程,在Web数据库程序设计中使用SQL存储过程有下列好处: 执行SQL存储过程比执行SQL命令快得多。当一个SQL语句包含在存储过程中时,服务器不必每次执行它时都要分析和编译它。 在多个网页中可以调用同一个存储过程,使站点易于维护。 一个存储过程可以包含多个SQL语句,这意味着可用存储过程建立复杂的查询。 存储过程可以接收和返回参数,这是实现复杂数据库访问功能的必要基础。,存储过程的调用形式 存储过程的调用也是一个Command对象的执行过程 【例6-17】 实现对存储过程HitCount的调用。源程序如下: ,用Parameter对象实现存储过程的
18、参数传递 Parameter对象代表基于参数化查询或与存储过程的Command对象相关联的输入、输出参数及存储过程的返回值。用Command对象的CreateParameter方法可以建立一个参数对象,其语法格式如下: CreateParameter( Name,Type,Direction,Size,Value) 【例6-18】 利用对一个存储过程LoginCheck的调用,验证登录用户的合法性,点击查看源程序,6.7 用RecordSet对象控制数据,6.7.1 RecordSet对象简介 RecordSet对象可以实现以下功能: 指定可以检查的记录。 移动记录。 添加、更改和删除记录。
19、通过更改记录更新数据源。 管理RecordSet的总体状态,6.7.2 RecordSet对象的创建和数据读取,RecordSet对象的创建 使用Server.CreateObject(“ADODB. RecordSet”)创建RecordSet对象,然后通过打开RecordSet对象创建一个与某个数据库表相关联的RecordSet对象实例 可以采用Connection和Command对象的Execute方法,当用Execute方法从一个数据库返回查询结果时,将自动创建一个RecordSet对象,RecordSet对象数据的读取 【例6-19】 在Web页面上显示表sales的所有记录数据,读
20、取字段值时利用字段顺序号。源程序如下 Show Table sales (点击看全部),6.7.3 记录集记录间的移动方法和记录集游标,移动方法包括: MoveNumRecords在记录集中向前或向后移动指 定条记录 MoveFirst移动至记录集中的第一条记录 MoveLast移动至记录集中的最后一条记 录 MovePrevious移动至当前记录的上一条记录 MoveNext移动至当前记录的下一条记录,游标的类型有以下4种 : adOpenFowardOnly 前向游标,只能在记录集中向前移 动。 adOpenKeyset可在记录集中向前或向后移动。 若 另一用户删除或改变一条记录,记录 集
21、将反映这种变化,但若增加一条新 记录,新记录不会出现在记录集中。 adOpenDynamic可在记录集中向前或向后移动。 其 他用户造成的任何改变都会动态反映 在记录集中。 adOpenStatic可在记录集中向前或向后移动。不 在记录集中反映其他用户对记录集造 成的任何改变,【例6-20】 在Web页中列出数据库表sales的GoodsName域,要求显示顺序从最后一条记录开始直至第一条记录为止 BackWard % Set Conn=Server.CreateObject (ADODB.Connection) Set RS=Server.CreateObject (ADODB.Record
22、Set) Conn.Open MyData 打开记录集时,将指定游标的类型为adOpenStatic,可在记录集中前向或后向移动 RS.Open SELECT * FROM sales,Conn,adOpenstatic .(点击查看全部),6.7.4 记录集记录的修改和记录锁定,使用RecordSet对象的一组方法对记录集中的记录进行增、删、改操作 AddNew Fields,Values方法 Delete AffectRecords方法 Update Fields,Values方法 CancelUpdate方法 UpdateBatch方法 CancelBatch方法,【例6-21】 在数据库表sales中插入一条新记录 Insert a Record % Set Conn=Server.CreateObje
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年工程管理与咨询考试试题及答案
- 标杆企业运营管控-现场施工管理标准化实施细则
- 2026高考2025届江苏省高品质高三高考科研卷语文试题及参考答案
- 金融衍生品交易风险管理合同
- 医院职工违反管理制度
- 厨房就餐卫生管理制度
- 中医项目介绍
- 小学考勤考核管理制度
- 商场餐饮楼层管理制度
- 公司外出审批管理制度
- 2022年小学生诗词大赛参考题库200题(含答案)
- 水泥厂工艺流程图
- 提高肠镜患者肠道准备合格率课件
- 公司物品采购申请单
- 《卓有成效的管理者》Word电子版电子版本
- 丧假证明模板
- 螺纹基本尺寸对照表
- T∕CIC 049-2021 水泥窑用固体替代燃料
- 集装箱出口十联单
- 工艺管理控制程序文件
- 重庆市中小学生健康体检表
评论
0/150
提交评论