配色: 字号:
JavaScript操作数据库
2017-09-03 | 阅:  转:  |  分享 
  
JavaScript操作数据库更多教程,请访问前端站www.qianduanzhan.com1使用ADODB对象来完成JavaSc
ript和数据库的交互。使用的ActiveX对象主要有三种:用于连接的“Connection”对象,类型字符串为“ADODB.Co
nnection”;数据集“RecordSet”对象,类型字符串为“ADODB.Recordset”.2数据库技术基础要使
用数据库,首先应当了解数据库的结构,及数据库的应用技术标准。对于一般的小型或中型应用来说,比较常见的数据库通常为关系型数据库。目前
常用的数据源的低级应用程序接口比较常见的是OLEDB。2.1关系型数据库简介数据库可以由单一数据表格构成,也可以由多个相
互关联的表格构成(称为关系数据库)。这些表格通过共同具有的域来相互关联。数据库软件包括从简单的运行在“Windows3.x”操作
系统中的“MicrosoftCardfile.exe”程序,到比较复杂但相对便宜的关系数据库,比如“FileMakerPro”
或“MicrosoftAccess”,再到企业级水平的基于服务器的程序,比如“MicrosoftSQLServer”或“Or
acle”。关系型数据库通常包含下列组件:客户端应用程序(“Client”)、数据库服务器(“Server”)和数据库(“Dat
abase”)。数据库的作用就是用来储存数据。关系型数据库是由许多数据表(“Table”)所组成,数据表又是由许多条记录(“Ro
w”或“Record”)所组成,每记录又是由许多的字段(“Column”或“Field”)所组成。客户端是数据的使用者,服务器则
是数据的储存和提供者。SQL语言(“StructuredQueryLanguage”结构化查询语言)是联系客户端和服务器之间的
桥梁。客户端使用SQL语言向服务器端发送请求,服务器解析此请求,返回客户端请求的结果。2.2“OLEDB”和“ODBC”技
术“OLEDB”(对象链接和嵌入数据库)是微软的战略性推广的,通向不同的数据源的低级应用程序接口。“OLEDB”不仅包括支持
微软资助的,标准数据接口的、开放数据库互联(“ODBC”)的结构化查询语言(“SQL”)能力,还具有面向其他非SQL数据类型的通路
。作为微软的组件对象模型(“COM”)的一种设计,“OLEDB”是一组读写数据的方法(在过去可能被称为渠道)。“OLDDB”中
的对象主要包括数据源对象、阶段对象、命令对象和行组对象。使用“OLEDB”的应用程序会用到如下的请求序列:(1)初始化“OLE
”对象(2)连接到数据源(3)发出命令(4)处理结果(5)释放数据源对象并停止初始化“OLE”2.3“ADO”控件
“ADO”控件是“MicrosoftActiveXDataObjects”的缩写,其作为一个“ActiveX”控件,用于客户
应用程序中,允许其通过“OLEDB”的数据提供者,对多种多样的数据库进行访问。“ADO”控件作为一个通用的数据库访问接口,具有易
用、高速、低内存负荷、磁盘空间占用少等特点。“ADO”控件支持构建服务器/客户端和基于网络的应用程序的关键特性。“OLEDB”
位于“ODBC”层与应用程序之间.。在ASP页面等数据使用者中,“ADO”是位于“OLEDB”之上的“应用程序”,应用程序的“A
DO”调用先被送到OLEDB,然后再交由ODBC处理。应用程序当然也可以直接连接到“OLEDB”层,如果这么做了,服务器端游标(
recordset的缺省的游标,也是最常用的游标)性能会得到提升,然而就会失去易用性等“ADO”控件带来的特性。3连接数据库
在JavaScript中,使用“newActiveXObject(“ADODB.Connection”)”方法建立一个新的AD
ODB的连接(“Connection”)对象。“Connection”对象代表与数据源进行的唯一会话。如果是客户端/服务器数据库系
统,该对象可以等价于到服务器的实际网络连接。取决于提供者所支持的功能,Connection对象的某些集合、方法或属性有可能无效。
3.1“Connection”对象的属性“Connection”对象具有如下属性:(1)“Attributes”属性,长
整型,可读写。设置或返回一个值,代表连接对象的事务属性。(2)“CommandTimeout”属性,长整型,可读写。(3)“C
onnectionString”属性,字符串型。(4)“ConnectionTimeout”属性,长整型。此属性在连接建立前可读
写,建立后只读,设置或返回连接建立的超时时间,单位为秒,默认值为15秒。(5)“CursorLocation”属性,长整型,可读
写,设置或返回游标服务的位置。(6)“DefaultDatabase”属性,字符串型,可读写,设置或返回数据提供者提供的默认数据
库名。(7)“Errors”集合。此集合包含运行时数据提供者发生的所有错误对象。(8)“IsolationLevel”属性,长整
型,可读写,设置或返回连接对象的隔离级别。(9)“Mode”属性,长整型,此属性在连接建立前可读写,建立后只读。(10)“Pr
operties”集合。此集合包含来自数据提供者的属性。(11)“Provider”属性,字符串型,此属性在连接建立前可读写,建
立后只读。(12)“State”属性,长整型,只读。此属性标识连接的状态。(13)“Version”属性,字符串型,只读,返回
ADO控件实例的版本信息。3.2“Connection”对象的方法“BeginTrans”、“CommitTrans”和“
RollbackTrans”方法用于处理连接对象中的事务过程。此三个方法均无参数。其作用为:(1)“BeginTrans”方法,
开始一个新的事物(2)“CommitTrans”方法,保存事务中发生的更改,并结束当前事务,其也可能打开一个新的事物。(3)“
RollbackTrans”方法,取消事务中发生的更改,并结束当前事务,其也可能打开一个新的事物。如果希望将对源数据所做的一系列
更改作为一个单元进行操作,可以使用这些“Connection”对象的方法。例如在电子商务中,执行货币转帐的操作,执行的更改至少需要
两步:从转出帐户中减去某个数额,并在转入帐户上添加对等数额。其中任意步骤发生错误,都将导致帐户收支不平衡。在打开的事务中进行这些更
改可确保只能选择进行全部更改或不作任何更改。3.3“ADO”控件连接对象综述使用“Connection”对象的集合、方法和
属性可执行下列操作:(1)在打开连接前使用“ConnectionString”、“ConnectionTimeout”和“Mod
e”属性对连接进行配置。(2)设置“CursorLocation”属性以便调用支持批更新的“客户端游标提供者”。(3)使用“D
efaultDatabase”属性设置连接的默认数据库。(4)使用“IsolationLevel”属性为在连接上打开的事务设置隔
离级别。(5)使用“Provider”属性指定“OLEDB”提供者。(6)使用“Open”方法建立到数据源的物理连接。使用“
Close”方法将其断开。(7)使用“Execute”方法执行对连接的命令,并使用“CommandTimeout”属性对执行进行
配置。(8)可使用“BeginTrans”、“CommitTrans”和“RollbackTrans”方法以及“Attribu
tes”属性管理打开的连接上的事务(如果数据提供者支持则包括嵌套的事务)。(9)使用“Errors”集合检查数据源返回的错误。
(10)通过“Version”属性读取使用中的“ADO”执行版本。(11)使用“OpenSchema”方法获取数据库模式信息。
4执行SQL命令在获取了对数据库的连接后,下一步需要做的就是执行相应的SQL代码,来向数据提供者发出所需要执行的命令。这就需
要用到“ADO”控件的命令对象“ADODB.Command”“Command”对象用于执行指定的查询,并返回查询后的数据集对象,
以便执行大量操作或处理数据库结构。在JavaScript中构建“Command”对象的语法为:objCommand=new
ActiveXObject(“ADODB.Command”);4.1命令(“Command”)对象的属性“Command
”对象的属性有:(1)“ActiveConnnection”属性,可读写,标识此“Command”对象所属的“Connectio
n”对象。(2)“CommandStream”属性,可读写,流数据类型。(3)“CommandText”属性,字符串型,可读写
。(4)“CommandTimeout”属性,此属性作用等同于“Connection”对象的“CommandTimeout”属性
,且不会被“Connection”对象的“CommandTimeout”属性所覆盖。(5)“CommandType”属性,此属性
定义了“CommandText”或“CommandStream”属性的类型。(6)“Dialect”属性,标识“CommandTe
xt”和“CommandStream”属性使用的方言属性。(7)“Name”属性,字符串型,可读写,设置或返回此控件的名称。(
8)“NamedParameters”属性,布尔型,可读写,设置或返回是否将参数名发送给数据提供者。(9)“Parameters
”集合。此集合包含所有的“Parameter”对象。(10)“Prepared”属性,布尔型,可读写,设置或返回执行前是否保存命
令的编译版本。(11)“Properties”属性和“State”属性。这两个属性类似于“Connection”对象中的同名属性
。4.2命令(“Command”)对象的方法“Command”对象的方法有三个:“Cancel”、“CreateParam
eter”和“Execute”。“Cancel”方法类似于“Connection”对象的同名方法。“CreateParamet
er”用于创建一个新的“Parameter”对象,其语法为:objParameter=command.CreateParam
eter(Name,Type,Direction,Size,Value);此方法返回值是一个新建的参数(“Parame
ter”)对象。此方法的参数“Name”可选,字符串型,为新建“Parameter”对象的名称;“Type”可选,长整型,指定新
建“Parameter”对象的数据类型,可能的取值见下表4.3命令(“Command”)对象的使用概要可以使用“Comma
nd”对象的集合、方法、属性进行下列操作:(1)使用“CommandText”属性定义命令(例如SQL语句)的可执行文本。(2
)通过“Parameter”对象和“Parameters”集合定义参数化查询或存储过程参数。(3)可使用“Execute”方法执
行命令并在适当的时候返回“Recordset”对象。(4)执行前应使用“CommandType”属性指定命令类型以优化性能。(
5)使用“Prepared”属性决定提供者是否在执行前保存准备好(或编译好)的命令版本。(6)使用“CommandTimeout
”属性设置提供者等待命令执行的秒数。(7)通过设置“ActiveConnection”属性使打开的连接与“Command”对象关
联。(8)设置“Name”属性将“Command”标识为与“Connection”对象关联的方法。(9)将“Command”对
象传送给“Recordset”的“Source”属性以便获取数据。5处理获得的数据使用“Command”对象执行指定的查询
、“SQL”语句或者储存的过程后,其返回一个数据集(“Recordset”)对象,程序通过操作此数据集对象来获取所需的数据,或执行
添加、删除记录等操作。“Recordset”对象可以直接通过“newActiveXObject”方法获得,其语法为:objR
ecordset=newActiveXObject(“ADODB.Recordset”);或者可以通过“Connectio
n”或“Command”对象的“Execute”方法的返回值获得。5.1数据集(“Recordset”)对象的属性(一)“
Recordset”对象的属性如下:(1)“AbsolutePage”属性,长整型,可读写,设置或返回从1开始至“Records
et”对象所含页数的长整型数值,(2)“AbsolutePosition”属性,长整型,可读写,设置或返回从1至“Recordse
t”对象所含记录数的长整型值,(3)“ActiveCommand”属性,指向创建相关“Recordset”对象的“Command”
对象。此属性只读,如果没有使用“Command”对象创建当前“Recordset”,将返回空值(“null”)。(4)“Activ
eConnection”属性,标识当前“Recordset”对象所属的“Connection”对象。(5)“BOF”和“EOF”属
性为布尔型。指示记录指针的位置是否超出范围。(6)“Bookmark”属性,可读写,返回唯一标识“Recordset”对象中当前记
录的书签,或者将“Recordset”对象的当前记录设置为由有效书签所标识的记录。(7)“CacheSize”属性,长整型,可读写。设置或返回记录集对象在本地内存中的记录条目数。此属性的值必须大于0,默认值为1。(8)“CursorLocation”属性类似于“Connection”对象的同名属性。(9)“CursorType”属性,整型,“Recordset”对象关闭时此属性可读写,否则只读,设置或返回数据集的游标类型,(10)“DataMember”属性,字符串型,指定要从“DataSource”属性所引用的对象中检索的数据成员的名称,此属性对大小写不敏感。(11)“EditMode”属性,长整型,只读,表示当前记录的编辑状态。(12)“Fields”集合,包含记录集中或某条记录中的列信息。此集合成员是“Field”对象,每个“Field”对象对应记录集中的一列。
献花(0)
+1
(本文系蚁走天涯路首藏)