版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第第5 5章章 WebWeb数据库程序设计数据库程序设计 l1 Web数据库访问技术数据库访问技术l2 ODBC接口接口l3 数据库言语数据库言语SQLl4 运用运用ADO访问数据库访问数据库 l5 用用Connection对象衔对象衔接数据库接数据库l6 用用RecordSet对象控对象控制数据制数据l7 用用Command对象执行对象执行数据库操作数据库操作l8 程序设计举例程序设计举例l数据库运用系统在现有数据库运用系统在现有计算机软件中占有很大计算机软件中占有很大的比例的比例 l本章将着重引见一种有本章将着重引见一种有效的效的Web数据库访问方数据库访问方案,即利用案,即利用ASP效力
2、器效力器端的组件端的组件ActiveX Data ObjectsADO实现对实现对数据库的操作数据库的操作 5.1 Web5.1 Web数据库访问技术数据库访问技术5.1.1 5.1.1 概述概述WebWeb数据库系统不能仅依赖某个数据库系统不能仅依赖某个DBMSDBMS来实现来实现整个运用系统,它是经过其他整个运用系统,它是经过其他WebWeb运用程运用程序,用规范的序,用规范的HTMLHTML言语及其某些特定的扩言语及其某些特定的扩展功能开发的、以特殊方式访问数据库的展功能开发的、以特殊方式访问数据库的运用程序系统运用程序系统WebWeb运用系统普通采用运用系统普通采用Browser/We
3、bServer/ApplicationServerBrowser/WebServer/ApplicationServer方式实现方式实现WebWeb访问数据库的关键是与数据库效力器间访问数据库的关键是与数据库效力器间的接口的接口5.1.2 CGI5.1.2 CGIlCGICommon Gateway Interface,公关网关接口,公关网关接口是一种接口规范,它使静态的是一种接口规范,它使静态的Web页变为交互式的媒体页变为交互式的媒体成为能够成为能够图6-1 经过CGI访问Web数据库模型5.1.3 ODBC 5.1.3 ODBC lODBCOpen Database Connectivi
4、ty,开放式数据,开放式数据库衔接是一个数据库编程接口,由微软公司建议并开库衔接是一个数据库编程接口,由微软公司建议并开发发 图6-2 ODBC运用系统模型 5.1.4 JDBC5.1.4 JDBClJDBC是较早的是较早的Web开发平台,在开发平台,在Web运用中,嵌于网运用中,嵌于网页页HTML文件中的文件中的Java applets利用利用JDBC来访问来访问数据库数据库 图6-3 采用JDBC技术实现Web数据库访问模型 5.1.5 ADO5.1.5 ADOlADOActiveX Data Objects是微软公司是微软公司Web效力效力器端的内置组件,器端的内置组件,ADO允许程序员
5、在编写程序时,经允许程序员在编写程序时,经过一个过一个OLEDB数据库对象链接嵌入技术提供者,数据库对象链接嵌入技术提供者,如如Microsoft SQL Server,Microsoft Access系统等,系统等,访问并支配数据库效力器中的数据访问并支配数据库效力器中的数据 图6-4 采用ADO技术实现Web数据库访问模型5.2 ODBC5.2 ODBC接口接口l5.2.1 ODBC5.2.1 ODBC接口概述接口概述lODBCODBC是微软公司建议并开发的数据库是微软公司建议并开发的数据库APIAPI规范,规范,ODBCODBC为异种数据库提供了一致的访为异种数据库提供了一致的访问接口,
6、它使运用程序能用构造化的查询问接口,它使运用程序能用构造化的查询言语言语SQLSQL访问数据库,从而对操作数据库访问数据库,从而对操作数据库的运用程序屏蔽了不同数据库管理系统的的运用程序屏蔽了不同数据库管理系统的访问差别,也使数据库系统的开发不仅仅访问差别,也使数据库系统的开发不仅仅局限于某个局限于某个DBMS DBMS lODBC主要定义如下主要定义如下5方面的内容方面的内容:lODBC函数库,它为运用程序提供衔接函数库,它为运用程序提供衔接DBMS、执行、执行SQL语句、提取访问结果语句、提取访问结果的程序接口的程序接口lSQL语法,它遵照语法,它遵照X/Open and SQL Acce
7、ss Group Call Level Interface Specification规范规范l错误代码错误代码l衔接、登录衔接、登录DBMSl数据类型数据类型5.2.2 ODBC5.2.2 ODBC的运用的运用l一个一个ODBC运用的建立应涵盖以下主要内容运用的建立应涵盖以下主要内容:l建立需求操作数据库的运用程序,该程序经建立需求操作数据库的运用程序,该程序经过调用过调用ODBC函数提交函数提交SQL语句语句l提供运转环境,该环境应包含数据库驱动程提供运转环境,该环境应包含数据库驱动程序,它担任处置序,它担任处置ODBC函数调用,向数据源提函数调用,向数据源提交交SQL恳求,向运用程序前往
8、结果,必要时恳求,向运用程序前往结果,必要时将将SQL语法翻译成符合语法翻译成符合DBMS语法规定的格语法规定的格式式l具有由用户数据库、具有由用户数据库、DBMS等构成的可供应用等构成的可供应用程序访问的数据源程序访问的数据源 l经过经过ODBC访问数据库的根本步骤如下:访问数据库的根本步骤如下:l创建并配置数据源;创建并配置数据源;l建立一个与数据源的对话衔接;建立一个与数据源的对话衔接;l向数据源发出向数据源发出SQL恳求;恳求;l定义一个缓冲区和数据格式用于存储访问结果;定义一个缓冲区和数据格式用于存储访问结果;l提取结果;提取结果;l处置各种错误;处置各种错误;l向用户报告结果;向用
9、户报告结果;l封锁与数据源的衔接封锁与数据源的衔接 5.2.3 5.2.3 创建并配置数据源创建并配置数据源l用户可经过如下两种方式创建或配置数据源:用户可经过如下两种方式创建或配置数据源:ODBC数数据源管理程序或系统函数调用据源管理程序或系统函数调用l配置一个配置一个Access数据源的过程如下:数据源的过程如下:l在在Windows系统下进入控制面板,翻开系统下进入控制面板,翻开ODBC数据源,数据源,假设是假设是Windows 2000平台,那么翻开管理程序下的数平台,那么翻开管理程序下的数据源据源ODBC,屏幕上将出现如图,屏幕上将出现如图6-5所示的所示的“ODBC数数据源管理器对
10、话框据源管理器对话框图6-5 “ODBC数据源管理器对话框l选择所运用的数据库驱动程序,如选择选择所运用的数据库驱动程序,如选择Microsoft Access Driver (*.mdb),单击,单击“完成按钮,出现如完成按钮,出现如图图6-7所示的对话框所示的对话框图6-7 “ODBC Microsoft Access安装对话框 l选择选择“系统系统DSN标签,即选择标签,即选择“系统数据源。要使系统数据源。要使系统上的一切运用程序都可以运用它,必需选用系统系统上的一切运用程序都可以运用它,必需选用系统DSN,这是建立,这是建立Web站点的需求。站点的需求。l单击单击“添加按钮,进入添加按
11、钮,进入“创建新数据源对话框,如创建新数据源对话框,如图图6-6所示所示图6-6 “创建新数据源对话框l在在“数据源名输入框中键入数据源名,单击数据源名输入框中键入数据源名,单击“选择按钮为该数据源指定一个已创建好的选择按钮为该数据源指定一个已创建好的Access数据库数据库*.mdb,该数据库应该是在,该数据库应该是在Web运用程序中即将访问的数据库。单击运用程序中即将访问的数据库。单击“确确定按钮,回到图定按钮,回到图6-6“创建新数据源对话框。创建新数据源对话框。单击单击“确定按钮直到封锁确定按钮直到封锁ODBC数据管理器,数据管理器,此时完成一个数据源的建立过程。假设要修正此时完成一个
12、数据源的建立过程。假设要修正该数据源的配置,可在图该数据源的配置,可在图6-5“ODBC数据源管数据源管理器对话框中选定要更改的数据源,再单击理器对话框中选定要更改的数据源,再单击“配置按钮配置按钮 5.3 5.3 数据库言语数据库言语SQLSQL5.3.1 SQL概述概述SQLStructured Query Language,构造化查,构造化查询言语是一个被广泛采用、适用于关系数据询言语是一个被广泛采用、适用于关系数据库访问的数据库言语工业规范。它包括数据定库访问的数据库言语工业规范。它包括数据定义、数据支配、数据查询和数据控制等语句规义、数据支配、数据查询和数据控制等语句规范。范。SQL
13、具有以下具有以下4部分功能:部分功能:数据定义数据定义用于定义数据方式。用于定义数据方式。数据查询数据查询用于从数据库中检索数据。用于从数据库中检索数据。数据支配数据支配用于对数据库数据进展添加、用于对数据库数据进展添加、删除、删除、 修正等操作。修正等操作。数据控制数据控制用于控制数据库用户的访问权用于控制数据库用户的访问权限限 5.3.2 主要的主要的SQL语句语句l查询语句查询语句SELECTlSELECT是是SQL的中心语句,它功能强的中心语句,它功能强大,和各类大,和各类SQL子句结合可完成多种复子句结合可完成多种复杂的查询操作。其语法格式如下:杂的查询操作。其语法格式如下:l S
14、E L E C T A L L | DISTINCT fields_listl INTO new_tablenamel FROM table_namesl WHERElGROUP BYlHAVINGlORDER BYl插入数据语句插入数据语句INSERT lINSERT可添加一个或多个记录到一个表中。可添加一个或多个记录到一个表中。INSERT有两种语法方式:有两种语法方式:lINSERT INTO target IN externaldatabase (fields_list)lDEFAULT VALUES|VALUESDEFAULT|expression_listlINSERT INTO
15、target IN externaldatabase fields_listlSELECT|EXECUTEl删除数据语句删除数据语句DELETElDELETE用于从一个或多个表中删除记录。其语法格用于从一个或多个表中删除记录。其语法格式如下:式如下:lDELETE lFROM table_nameslWHEREl更新数据语句更新数据语句UPDATE lUPDATE语句用于更新表中的记录。其语句用于更新表中的记录。其语法格式如下:语法格式如下:lUPDATE table_namelSET Field_1=expression_1,Field_2=expression_2,lFROM table1
16、_name|view1_name,table2_name|view2_name,lWHERE 5.4 运用ADO访问数据库5.4.1 5.4.1 概述概述ADOADOActiveX Data ObjectsActiveX Data Objects,ActiveXActiveX数数据对象技术是一种良好的据对象技术是一种良好的WebWeb数据库访数据库访问处理方案问处理方案ADOADO是一个是一个ASPASP内置的效力器组件,它是一内置的效力器组件,它是一座衔接座衔接WebWeb运用程序和运用程序和OLEDBOLEDB的桥梁的桥梁ADOADO几乎兼容一切的数据库系统几乎兼容一切的数据库系统ADOA
17、DO支持多种程序设计言语支持多种程序设计言语5.4.2 ADO5.4.2 ADO的对象类和对象模型的对象类和对象模型lADO技术是经过技术是经过ADO对象的属性、方法来完成相应对象的属性、方法来完成相应的数据库访问的。的数据库访问的。ADO共有以下共有以下7种独立对象类种独立对象类lConnection衔接对象,表示与数据源的衔接关衔接对象,表示与数据源的衔接关系系lCommand命令对象,用于定义一些特定的命命令对象,用于定义一些特定的命令语法,以执行相应的动作令语法,以执行相应的动作lRecordSet记录集对象,用于表示来自数据库记录集对象,用于表示来自数据库表或命令执行结果的记录表或命
18、令执行结果的记录lProperty属性对象,用于描画对象的属性,每属性对象,用于描画对象的属性,每个个ADO对象都有一组独一的属性来描画或控制对象对象都有一组独一的属性来描画或控制对象的行为的行为lError错误对象,用于描画错误对象,用于描画Connection对象在衔接对象在衔接数据库时发生的错误数据库时发生的错误lField域字段对象,用来表示域字段对象,用来表示RecordSet对象对象的字段,一个记录行包含一个或多个域字段的字段,一个记录行包含一个或多个域字段lParameter参数对象,用来描画参数对象,用来描画Command对象的对象的命令参数,是命令所需求的变量部分命令参数,是
19、命令所需求的变量部分图6-8 ADO对象模型5.4.3 ADO5.4.3 ADO样例样例l【例】【例】 网络导航网络导航lEasyl6-1.aspl6-2.aspl6-3.aspl6-4.aspl 5.5 ADO Connection对象1、建立和封锁、建立和封锁connection对象实例:对象实例:2、运用、运用connection对象衔接数据库:对象衔接数据库:set db=Server.CreateObject(ADODB.Connection) db.Open DBQ=“&server.mappath(db1.mdb)&DRIVER=Microsoft Access
20、Driver (*.mdb); 3、Connection对象的属性对象的属性Commandtimeout:设置connection对象的execute方法的执行时间。默许30秒,0值为无限期等待,直到执行终了。ConnectionString:指定Connection对象的数据库链接信息。翻开数据库除了open 方法,可以如下:lConnectionTimeout:指定open方法与数据库链接的的执行截至时间,默许30秒。lDefaultDatabase:在多个数据库中指定默许者。lMode:设置衔接数据库的权限。l0:为定义l1:只读l2:只写l3:可读可写3、Connection对象的属性
21、对象的属性lVersion:显示ADO对象的版本信息l 3、Connection对象的属性对象的属性4、Connection对象的方法lOpen:建立和数据库的衔接建立和数据库的衔接lOpen方法的参数:方法的参数:lDsn:odbc数据源称号数据源称号lUser:数据库登陆账号数据库登陆账号lPassword:数据库登陆密码数据库登陆密码lDriver:数据库类型数据库类型lDbq:数据库物理途径数据库物理途径lClose:封锁封锁Connection对象与数据库的衔接对象与数据库的衔接lExecute:执行数据库查询、执行数据库查询、SQL语句查询、语句查询、添加、删除、更新等添加、删除、
22、更新等l格式:格式:lset Recordset对象对象=Connection对对象象.Execute(SQL字符串字符串l 或或lConnection对象对象. Execute(SQL字符串字符串4、Connection对象的方法lBeginTrans :开场事务的处置lConnection对象.BeginTranslCommitTrans:提交事务处置结果lConnection对象mitTransl执行该方法后,才真正更新数据库lRollbackTrans:取消事务处置结果lConnection对象.RollbackTransl以上三种方法结合起来将添加数据库程序的可靠性。4、Connec
23、tion对象的方法5、数据库查询操作l方法一:lset rs=server.createobject(ADODB.Recordset)lstrquery=select * from personlrs.open strquery,dbl方法二:l5.6 ADO RecordSet对象l用来操作数据库的记录集(是表记录的集合,用来对单个记录操作)l1、创建Recordset对象5种方法:RecordSet.aspll或l 先和数据库相连(显示建立Connection对象2、存取数据库l读取数据记录:l利用RecordSet对象读取记录既是对字段的访问。对于一个RecordSet对象,字段名和字段
24、的顺序号均可标识一个字段。l挪动记录指针的方法:lrs.方法lMovefirstlMovenextlMovepreviouslMovelastlmove l添加数据记录: 3、Recordset对象的属性前往记录集,了解当前记录集的特征,得知记录数,设置记录页的大小,得到或设置当前指针的绝对位置。 对象属性根据功能可分为如下几组:第一组属性限定记录集的内容和性质,在翻开记录前设置。Source:设置数据库查询信息Activeconnection:设置数据库衔接信息cursorType:设置记录集指针类型Locktype: 设置记录集的锁定类型MaxRecors:控制从效力器上得到的最大记录数c
25、ursorLocation:设置记录集在客户端还是在效力器端处置Filter:设置要显示的内容l第二组属性是关于记录的,在翻开记录集后读取。第二组属性是关于记录的,在翻开记录集后读取。lRecordcount:前往记录总数前往记录总数lVar=rescordset.recordcountlBof:判别当前记录指针能否在记录的开头判别当前记录指针能否在记录的开头lEof:判别当前记录指针能否在记录的尾部判别当前记录指针能否在记录的尾部3、Recordset对象的属性l第三组属性完成数据分页显示的功能,在翻开第三组属性完成数据分页显示的功能,在翻开记录集后再设。记录集后再设。lPagesize:设
26、置数据分页显示时每页的记录数。设置数据分页显示时每页的记录数。lPagecount:设置数据分页显示时数据页的总设置数据分页显示时数据页的总数。数。lAbsolutepage:设置当前指针位于哪页。设置当前指针位于哪页。lAbsoluteposition:设置当前指针所在的记录设置当前指针所在的记录行的绝对值。行的绝对值。3、Recordset对象的属性4、Recordset对象的方法lOpenlCloselRequerylMovefirstlMoveproviouslMovenextlMovelastlMove number,startlAddnew和DeletelUpdatel用法:l 或
27、 rs.update fields,valueslCancelupdatelGetrows(rows,start,fields)lResync:客户端和效力器端举例:l9-1:数据库根本操作l9-2:利用connection的execute方法维护数据库l9-7:利用recordset对象查询记录l9-8:利用recordset对象分页显示记录l9-9:利用recordset对象更新记录l9-10:利用recordset对象更新记录5.7 5.7 用用CommandCommand对象执行数据库操作对象执行数据库操作5.7.1 Command5.7.1 Command对象的常用属性和方法对象的常
28、用属性和方法执行执行SQLSQL语句可以用翻开的语句可以用翻开的ConnectionConnection对象,对象,也可以用也可以用ADOADO的的CommandCommand命令对象到达命令对象到达同样的目的。同样的目的。CommandCommand对象的常用属性和方法如下:对象的常用属性和方法如下:ActiveConnectionActiveConnection属性属性指定与指定与CommandCommand对对象关联的已翻开象关联的已翻开 的衔接的衔接 对象。对象。NameName属性属性指定指定CommandCommand对象的名字。对象的名字。CommandTextCommandTe
29、xt属性属性定义一个可执行的命令定义一个可执行的命令串。串。CommandTypeCommandType属性属性指定命令的类型。指定命令的类型。ExecuteExecute方法方法执行命令执行命令5.7.2 5.7.2 用用CommandCommand对象执行对象执行SQLSQL语句语句l【例】【例】 用用Command对象的对象的Execute方法从方法从sales表中表中检索出一切记录。源程序如下:检索出一切记录。源程序如下:l 5.7.3 用Command对象调用存储过程 l在在Web数据库程序设计中运用数据库程序设计中运用SQL存储过程有存储过程有以下益处:以下益处:l执行执行SQL存
30、储过程比执行存储过程比执行SQL命令快得多。当命令快得多。当一个一个SQL语句包含在存储过程中时,效力器不语句包含在存储过程中时,效力器不用每次执行它时都要分析和编译它。用每次执行它时都要分析和编译它。l在多个网页中可以调用同一个存储过程,使站在多个网页中可以调用同一个存储过程,使站点易于维护。点易于维护。l一个存储过程可以包含多个一个存储过程可以包含多个SQL语句,这意味语句,这意味着可用存储过程建立复杂的查询。着可用存储过程建立复杂的查询。l存储过程可以接纳和前往参数,这是实现复杂存储过程可以接纳和前往参数,这是实现复杂数据库访问功能的必要根底。数据库访问功能的必要根底。 l存储过程的调用方式存储过程的调用方式 l存储过程的调用也是一个存储过程的调用也是一个Command对象的执行过程对象的执行过程l【例】【例】 实现对存储
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025鱼卵采集产业发展研究报告及质量管理体系探究
- 2025香烟销售渠道分析前景与对策研究深度报告
- 2025香料调味品工艺创新研究方向的消费者个性化需求分析报告
- 2025预测数据分析行业市场潜力深度研讨及商业智能应用与大数据生态报告
- 观众心理与行为分析-洞察及研究
- 2025江苏苏州工业园区莲花学校行政辅助人员招聘1人考试笔试模拟试题及答案解析
- 2025韩国现代农业行业市场潜力研究及企业竞争策略与行业发展趋势分析报告
- 2025韩国智能物流仓储机器人行业市场现状与自动化仓储评估及投资规划分析报告
- 2025韩国时尚行业市场现状调研及投资发展趋势研究报告
- 2025韩国宠物用品国际贸易市场消费者行为分析报告
- 2025四川产业振兴基金投资集团有限公司应届毕业生招聘9人笔试历年难易错考点试卷带答案解析2套试卷
- 《建筑设计》课程教案(2025-2026学年)
- 软装工程质量管理方案有哪些
- 海水墙面防水施工方案设计
- 路面摊铺安全培训内容课件
- 水箱安装施工质量管理方案
- 2025年国企人力资源管理岗招聘考试专业卷(含岗位说明书)解析与答案
- 光伏电厂防火安全培训课件
- 小学数学单位换算表(高清可打印)
- 千县工程县医院微创介入中心综合能力建设评价标准
- 交通事故处理讲解
评论
0/150
提交评论