第18章 JavaScript操作数据库

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

18.4.1 命令("Command")对象的属性
"Command"对象的属性有: (1)"ActiveConnnection"属性,可读写,标识此"Command"对象所属的 "Connection"对象. (2)"CommandStream"属性,可读写,流数据类型. (3)"CommandText"属性,字符串型,可读写. (4)"CommandTimeout"属性,此属性作用等同于"Connection"对象的 "CommandTimeout"属性,且不会被"Connection"对象的"CommandTimeout"属性 所覆盖. (5)"CommandType"属性,此属性定义了"CommandText"或"CommandStream"属 性的类型.(6)"Dialect"属性,标识"CommandText"和"CommandStream"属性 使用的方言属性. (7)"Name"属性,字符串型,可读写,设置或返回此控件的名称. (8)"NamedParameters"属性,布尔型,可读写,设置或返回是否将参数名发送给 数据提供者. (9)"Parameters"集合.此集合包含所有的"Parameter"对象. (10)"Prepared"属性,布尔型,可读写,设置或返回执行前是否保存命令的编译 版本. (11)"Properties"属性和"State"属性.这两个属性类似于"Connection"对 象中的同名属性.
18.2 数据库技术基础
要使用数据库,首先应当了解数据库的结构,及 数据库的应用技术标准.对于一般的小型或中型 应用来说,比较常见的数据库通常为关系型数据 库.目前常用的数据源的低级应用程序接口比较 常见的是OLE DB.
18.2.1 关系型数据库简介
数据库可以由单一数据表格构成,也可以由多个相互关联的表格构成(称 为关系数据库).这些表格通过共同具有的域来相互关联.数据库软件包 括从简单的运行在"Windows 3.x"操作系统中的"Microsoft Cardfile.exe"程序,到比较复杂但相对便宜的关系数据库,比如 "FileMaker Pro"或"Microsoft Access",再到企业级水平的基于服 务器的程序,比如"Microsoft SQL Server"或"Oracle". 关系型数据库通常包含下列组件:客户端应用程序("Client"),数据 库服务器("Server")和数据库("Database"). 数据库的作用就是用来储存数据.关系型数据库是由许多数据表 ("Table")所组成,数据表又是由许多条记录("Row"或"Record") 所组成,每记录又是由许多的字段("Column"或"Field")所组成. 客户端是数据的使用者,服务器则是数据的储存和提供者.SQL语言 ("Structured Query Language"结构化查询语言)是联系客户端和服 务器之间的桥梁.客户端使用SQL语言向服务器端发送请求,服务器解析 此请求,返回客户端请求的结果.
第18章 JavaScript操作数据库
上一章讲述了如何使用JavaScript操作本地的文件. JavaScript不仅仅可以应用于Web页面中,实现多种多样的 特效,也可以用于Windows系统的脚本中,利用 "Scripting.FileSystemObject"控件,实现对本地的文 件系统的操作.由于JavaScript可以用任意的文本编辑器 编写,因此在日常的应用中,完全可以利用JavaScript来 编写小应用程序,来实现一些类似于DOS系统中的批处理的 功能. 除了操作文件,JavaScript还可以用于操作数据库,实现 从数据库中读取,写入数据,乃至修改数据表结构等功能. 和JavaScript操作文件时相同,此类操作也需要获取对用 户本地系统的读写权限.因此需要保证ActiveX控件的有效 载入.此类ActiveX控件用来作为HTA("HTML应用程序") 编程是一个很好的选择.
18.3.1 "Connection"对象的属性
"Connection"对象具有如下属性: (1)"Attributes"属性,长整型,可读写.设置或返回一个值,代表连接对象的 事务属性. (2)"CommandTimeout"属性,长整型,可读写. (3)"ConnectionString"属性,字符串型. (4)"ConnectionTimeout"属性,长整型.此属性在连接建立前可读写,建立后只 读,设置或返回连接建立的超时时间,单位为秒,默认值为15秒. (5)"CursorLocation"属性,长整型,可读写,设置或返回游标服务的位置. (6)"DefaultDatabase"属性,字符串型,可读写,设置或返回数据提供者提供的 默认数据库名.(7)"Errors"集合.此集合包含运行时数据提供者发生的所有错 误对象. (8)"IsolationLevel"属性,长整型,可读写,设置或返回连接对象的隔离级别. (9)"Mode"属性,长整型,此属性在连接建立前可读写,建立后只读. (10)"Properties"集合.此集合包含来自数据提供者的属性. (11)"Provider"属性,字符串型,此属性在连接建立前可读写,建立后只读. (12)"State"属性,长整型,只读.此属性标识连接的状态. (13)"Version"属性,字符串型,只读,返回ADO控件实例的版本信息.
ຫໍສະໝຸດ Baidu
18.2.2 "OLE DB"和"ODBC"技术
"OLE DB"(对象链接和嵌入数据库)是微软的战略性推广的, 通向不同的数据源的低级应用程序接口."OLE DB"不仅包括支 持微软资助的,标准数据接口的,开放数据库互联("ODBC") 的结构化查询语言("SQL")能力,还具有面向其他非SQL数据 类型的通路.作为微软的组件对象模型("COM")的一种设计, "OLE DB"是一组读写数据的方法(在过去可能被称为渠道). "OLD DB"中的对象主要包括数据源对象,阶段对象,命令对象 和行组对象.使用"OLE DB"的应用程序会用到如下的请求序列: (1)初始化"OLE"对象 (2)连接到数据源 (3)发出命令 (4)处理结果 (5)释放数据源对象并停止初始化"OLE"
18.3.3 "ADO"控件连接对象综述
使用"Connection"对象的集合,方法和属性可执行下列操作: (1)在打开连接前使用"ConnectionString","ConnectionTimeout"和"Mode" 属性对连接进行配置. (2)设置"CursorLocation"属性以便调用支持批更新的"客户端游标提供者". (3)使用"DefaultDatabase"属性设置连接的默认数据库. (4)使用"IsolationLevel"属性为在连接上打开的事务设置隔离级别. (5)使用"Provider"属性指定"OLE DB"提供者. (6)使用"Open"方法建立到数据源的物理连接.使用"Close"方法将其断开. (7)使用"Execute"方法执行对连接的命令,并使用"CommandTimeout"属性对执 行进行配置. (8)可使用"BeginTrans","CommitTrans"和"RollbackTrans "方法以及 "Attributes"属性管理打开的连接上的事务(如果数据提供者支持则包括嵌套的事 务). (9)使用"Errors"集合检查数据源返回的错误. (10)通过"Version"属性读取使用中的"ADO"执行版本. (11)使用"OpenSchema"方法获取数据库模式信息.
18.3.2 "Connection"对象的方法
"BeginTrans","CommitTrans"和"RollbackTrans"方法用 于处理连接对象中的事务过程.此三个方法均无参数.其作用为: (1)"BeginTrans"方法,开始一个新的事物 (2)"CommitTrans"方法,保存事务中发生的更改,并结束当 前事务,其也可能打开一个新的事物. (3)"RollbackTrans"方法,取消事务中发生的更改,并结束 当前事务,其也可能打开一个新的事物. 如果希望将对源数据所做的一系列更改作为一个单元进行操作, 可以使用这些"Connection"对象的方法.例如在电子商务中, 执行货币转帐的操作,执行的更改至少需要两步:从转出帐户中 减去某个数额,并在转入帐户上添加对等数额.其中任意步骤发 生错误,都将导致帐户收支不平衡.在打开的事务中进行这些更 改可确保只能选择进行全部更改或不作任何更改.
18.1 示例:Access数据库浏览器
本章中使用ADODB对象来完成JavaScript和数据库 的交互.使用的ActiveX对象主要有三种:用于连 接的"Connection"对象,类型字符串为 "ADODB.Connection";数据集"RecordSet"对 象,类型字符串为"ADODB.Recordset";示例代 码18-1.hta是一个使用JavaScript读取数据库进 行浏览的例子.此示例可以查看数据库中任意的 表,并规定筛选条件.同时在数据过多时,此示 例也支持分页显示.
18.4 执行SQL命令
在获取了对数据库的连接后,下一步需要做的就 是执行相应的SQL代码,来向数据提供者发出所需 要执行的命令.这就需要用到"ADO"控件的命令 对象"ADODB.Command" "Command"对象用于执行指定的查询,并返回查 询后的数据集对象,以便执行大量操作或处理数 据库结构. 在JavaScript中构建"Command"对象的语法为: objCommand = new ActiveXObject("ADODB.Command");
18.3 连接数据库
在JavaScript中,使用"new ActiveXObject("ADODB.Connection")"方法建 立一个新的ADODB的连接("Connection")对象. "Connection"对象代表与数据源进行的唯一会 话.如果是客户端/服务器数据库系统,该对象可 以等价于到服务器的实际网络连接.取决于提供 者所支持的功能,Connection 对象的某些集合, 方法或属性有可能无效.
18.2.3 "ADO"控件
"ADO"控件是"Microsoft ActiveX Data Objects"的缩 写,其作为一个"ActiveX"控件,用于客户应用程序中, 允许其通过"OLE DB"的数据提供者,对多种多样的数据 库进行访问."ADO"控件作为一个通用的数据库访问接口, 具有易用,高速,低内存负荷,磁盘空间占用少等特点. "ADO"控件支持构建服务器/客户端和基于网络的应用程 序的关键特性. "OLE DB"位于"ODBC"层与应用程序之间..在ASP页面 等数据使用者中,"ADO"是位于"OLE DB"之上的"应用 程序",应用程序的"ADO"调用先被送到OLEDB,然后再 交由ODBC处理.应用程序当然也可以直接连接到"OLE DB" 层,如果这么做了,服务器端游标(recordset的缺省的游 标,也是最常用的游标)性能会得到提升,然而就会失去 易用性等"ADO"控件带来的特性.
18.4.2 命令("Command")对象的方法
"Command"对象的方法有三个:"Cancel","CreateParameter"和"Execute". "Cancel"方法类似于"Connection"对象的同名方法. "CreateParameter"用于创建一个新的"Parameter"对象,其语法为: objParameter = command.CreateParameter (Name, Type, Direction, Size, Value); 此方法返回值是一个新建的参数("Parameter")对象. 此方法的参数"Name"可选,字符串型,为新建"Parameter"对象的名称;"Type" 可选,长整型,指定新建"Parameter"对象的数据类型,可能的取值见下表
相关文档
最新文档