【能力素质】javascript操作数据库

上传人:206****923 文档编号:51709971 上传时间:2018-08-16 格式:PPT 页数:20 大小:241KB
返回 下载 相关 举报
【能力素质】javascript操作数据库_第1页
第1页 / 共20页
【能力素质】javascript操作数据库_第2页
第2页 / 共20页
【能力素质】javascript操作数据库_第3页
第3页 / 共20页
【能力素质】javascript操作数据库_第4页
第4页 / 共20页
【能力素质】javascript操作数据库_第5页
第5页 / 共20页
点击查看更多>>
资源描述

《【能力素质】javascript操作数据库》由会员分享,可在线阅读,更多相关《【能力素质】javascript操作数据库(20页珍藏版)》请在金锄头文库上搜索。

1、第18章 JavaScript操作数据库天马行空官方博客:http:/ ; QQ:1318241189;QQ群:1755696321 使用ADODB对象来完成JavaScript和数据库的交互 。使用的ActiveX对象主要有三种:用于连接的 “Connection”对象,类型字符串为 “ADODB.Connection”;数据集“RecordSet”对 象,类型字符串为“ADODB.Recordset”.2 数据库技术基础 要使用数据库,首先应当了解数据库的结构,及 数据库的应用技术标准。对于一般的小型或中型 应用来说,比较常见的数据库通常为关系型数据 库。目前常用的数据源的低级应用程序接口

2、比较 常见的是OLE DB。2.1 关系型数据库简介数据库可以由单一数据表格构成,也可以由多个相互关联的表格构成(称 为关系数据库)。这些表格通过共同具有的域来相互关联。数据库软件包 括从简单的运行在“Windows 3.x”操作系统中的“Microsoft Cardfile.exe”程序,到比较复杂但相对便宜的关系数据库,比如 “FileMaker Pro”或“Microsoft Access”,再到企业级水平的基于服 务器的程序,比如“Microsoft SQL Server”或“Oracle”。 关系型数据库通常包含下列组件:客户端应用程序(“Client”)、数据 库服务器(“Serv

3、er”)和数据库(“Database”)。 数据库的作用就是用来储存数据。关系型数据库是由许多数据表( “Table”)所组成,数据表又是由许多条记录(“Row”或“Record”) 所组成,每记录又是由许多的字段(“Column”或“Field”)所组成。 客户端是数据的使用者,服务器则是数据的储存和提供者。SQL语言( “Structured Query Language”结构化查询语言)是联系客户端和服务 器之间的桥梁。客户端使用SQL语言向服务器端发送请求,服务器解析此 请求,返回客户端请求的结果。2.2 “OLE DB”和“ODBC”技术“OLE DB”(对象链接和嵌入数据库)是微软

4、的战略性推广的, 通向不同的数据源的低级应用程序接口。“OLE DB”不仅包括支 持微软资助的,标准数据接口的、开放数据库互联(“ODBC”) 的结构化查询语言(“SQL”)能力,还具有面向其他非SQL数据 类型的通路。作为微软的组件对象模型(“COM”)的一种设计, “OLE DB”是一组读写数据的方法(在过去可能被称为渠道)。 “OLD DB”中的对象主要包括数据源对象、阶段对象、命令对象 和行组对象。使用“OLE DB”的应用程序会用到如下的请求序列 : (1)初始化“OLE”对象 (2)连接到数据源 (3)发出命令 (4)处理结果 (5)释放数据源对象并停止初始化“OLE”2.3 “A

5、DO”控件“ADO”控件是“Microsoft ActiveX Data Objects”的缩 写,其作为一个“ActiveX”控件,用于客户应用程序中, 允许其通过“OLE DB”的数据提供者,对多种多样的数据 库进行访问。“ADO”控件作为一个通用的数据库访问接口 ,具有易用、高速、低内存负荷、磁盘空间占用少等特点 。“ADO”控件支持构建服务器/客户端和基于网络的应用 程序的关键特性。 “OLE DB”位于“ODBC”层与应用程序之间.。在ASP页面 等数据使用者中,“ADO”是位于“OLE DB”之上的“应用 程序”,应用程序的“ADO”调用先被送到OLEDB,然后再 交由ODBC处理

6、。应用程序当然也可以直接连接到“OLE DB”层,如果这么做了,服务器端游标(recordset的缺省 的游标,也是最常用的游标)性能会得到提升,然而就会 失去易用性等“ADO”控件带来的特性。3 连接数据库 在JavaScript中,使用“new ActiveXObject(“ADODB.Connection”)”方法建 立一个新的ADODB的连接(“Connection”)对象 。“Connection”对象代表与数据源进行的唯一 会话。如果是客户端/服务器数据库系统,该对象 可以等价于到服务器的实际网络连接。取决于提 供者所支持的功能,Connection 对象的某些集合 、方法或属性有

7、可能无效。3.1 “Connection”对象的属性“Connection”对象具有如下属性: (1)“Attributes”属性,长整型,可读写。设置或返回一个值,代表连接对象的 事务属性。 (2)“CommandTimeout”属性,长整型,可读写。 (3)“ConnectionString”属性,字符串型。 (4)“ConnectionTimeout”属性,长整型。此属性在连接建立前可读写,建立后只 读,设置或返回连接建立的超时时间,单位为秒,默认值为15秒。 (5)“CursorLocation”属性,长整型,可读写,设置或返回游标服务的位置。 (6)“DefaultDatabase”

8、属性,字符串型,可读写,设置或返回数据提供者提供的 默认数据库名。(7)“Errors”集合。此集合包含运行时数据提供者发生的所有错 误对象。 (8)“IsolationLevel”属性,长整型,可读写,设置或返回连接对象的隔离级别 。 (9)“Mode”属性,长整型,此属性在连接建立前可读写,建立后只读。 (10)“Properties”集合。此集合包含来自数据提供者的属性。 (11)“Provider”属性,字符串型,此属性在连接建立前可读写,建立后只读。 (12)“State”属性,长整型,只读。此属性标识连接的状态。 (13)“Version”属性,字符串型,只读,返回ADO控件实例的

9、版本信息。3.2 “Connection”对象的方法“BeginTrans”、“CommitTrans”和“RollbackTrans”方法用 于处理连接对象中的事务过程。此三个方法均无参数。其作用为 : (1)“BeginTrans”方法,开始一个新的事物 (2)“CommitTrans”方法,保存事务中发生的更改,并结束当 前事务,其也可能打开一个新的事物。 (3)“RollbackTrans”方法,取消事务中发生的更改,并结束 当前事务,其也可能打开一个新的事物。 如果希望将对源数据所做的一系列更改作为一个单元进行操作, 可以使用这些“Connection”对象的方法。例如在电子商务中,

10、 执行货币转帐的操作,执行的更改至少需要两步:从转出帐户中 减去某个数额,并在转入帐户上添加对等数额。其中任意步骤发 生错误,都将导致帐户收支不平衡。在打开的事务中进行这些更 改可确保只能选择进行全部更改或不作任何更改。3.3 “ADO”控件连接对象综述使用“Connection”对象的集合、方法和属性可执行下列操作: (1)在打开连接前使用“ConnectionString”、“ConnectionTimeout”和“Mode” 属性对连接进行配置。 (2)设置“CursorLocation”属性以便调用支持批更新的“客户端游标提供者”。 (3)使用“DefaultDatabase”属性设置

11、连接的默认数据库。 (4)使用“IsolationLevel”属性为在连接上打开的事务设置隔离级别。 (5)使用“Provider”属性指定“OLE DB”提供者。 (6)使用“Open”方法建立到数据源的物理连接。使用“Close”方法将其断开。 (7)使用“Execute”方法执行对连接的命令,并使用“CommandTimeout”属性对执 行进行配置。 (8)可使用“BeginTrans”、“CommitTrans”和“RollbackTrans ”方法以及 “Attributes”属性管理打开的连接上的事务(如果数据提供者支持则包括嵌套的事 务)。 (9)使用“Errors”集合检查数

12、据源返回的错误。 (10)通过“Version”属性读取使用中的“ADO”执行版本。 (11)使用“OpenSchema”方法获取数据库模式信息。4 执行SQL命令 在获取了对数据库的连接后,下一步需要做的就 是执行相应的SQL代码,来向数据提供者发出所需 要执行的命令。这就需要用到“ADO”控件的命令 对象“ADODB.Command” “Command”对象用于执行指定的查询,并返回查 询后的数据集对象,以便执行大量操作或处理数 据库结构。 在JavaScript中构建“Command”对象的语法为: objCommand = new ActiveXObject(“ADODB.Comman

13、d”);4.1 命令(“Command”)对象的属性“Command”对象的属性有: (1)“ActiveConnnection”属性,可读写,标识此“Command”对象所属的 “Connection”对象。 (2)“CommandStream”属性,可读写,流数据类型。 (3)“CommandText”属性,字符串型,可读写。 (4)“CommandTimeout”属性,此属性作用等同于“Connection”对象的 “CommandTimeout”属性,且不会被“Connection”对象的“CommandTimeout”属性 所覆盖。 (5)“CommandType”属性,此属性定义了

14、“CommandText”或“CommandStream”属 性的类型。(6)“Dialect”属性,标识“CommandText”和“CommandStream”属性 使用的方言属性。 (7)“Name”属性,字符串型,可读写,设置或返回此控件的名称。 (8)“NamedParameters”属性,布尔型,可读写,设置或返回是否将参数名发送给 数据提供者。 (9)“Parameters”集合。此集合包含所有的“Parameter”对象。 (10)“Prepared”属性,布尔型,可读写,设置或返回执行前是否保存命令的编译 版本。 (11)“Properties”属性和“State”属性。这两

15、个属性类似于“Connection”对 象中的同名属性。4.2 命令(“Command”)对象的方法“Command”对象的方法有三个:“Cancel”、“CreateParameter”和“Execute” 。 “Cancel”方法类似于“Connection”对象的同名方法。 “CreateParameter”用于创建一个新的“Parameter”对象,其语法为: objParameter = command.CreateParameter (Name, Type, Direction, Size, Value); 此方法返回值是一个新建的参数(“Parameter”)对象。 此方法的参数

16、“Name”可选,字符串型,为新建“Parameter”对象的名称; “Type”可选,长整型,指定新建“Parameter”对象的数据类型,可能的取值见下 表4.3 命令(“Command”)对象的使用概要可以使用“Command”对象的集合、方法、属性进行下列操作: (1)使用“CommandText”属性定义命令(例如SQL语句)的可执行文本 。 (2)通过“Parameter”对象和“Parameters”集合定义参数化查询或存 储过程参数。 (3)可使用“Execute”方法执行命令并在适当的时候返回 “Recordset”对象。 (4)执行前应使用“CommandType”属性指定命令类型以优化性能。 (5)使用“Prepared”属性决定提供者是否在执行前保存准备好(或编 译好)的命令版本。 (6)使用“CommandTimeout”属性设置提供者

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 其它文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号