javascript操作数据库.ppt_第1页
javascript操作数据库.ppt_第2页
javascript操作数据库.ppt_第3页
javascript操作数据库.ppt_第4页
javascript操作数据库.ppt_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第18章JavaScript操作数据库 天马行空官方博客 1 使用ADODB对象来完成JavaScript和数据库的交互 使用的ActiveX对象主要有三种 用于连接的 Connection 对象 类型字符串为 ADODB Connection 数据集 RecordSet 对象 类型字符串为 ADODB Recordset 2数据库技术基础 要使用数据库 首先应当了解数据库的结构 及数据库的应用技术标准 对于一般的小型或中型应用来说 比较常见的数据库通常为关系型数据库 目前常用的数据源的低级应用程序接口比较常见的是OLEDB 2 1关系型数据库简介 数据库可以由单一数据表格构成 也可以由多个相互关联的表格构成 称为关系数据库 这些表格通过共同具有的域来相互关联 数据库软件包括从简单的运行在 Windows3 x 操作系统中的 MicrosoftCardfile exe 程序 到比较复杂但相对便宜的关系数据库 比如 FileMakerPro 或 MicrosoftAccess 再到企业级水平的基于服务器的程序 比如 MicrosoftSQLServer 或 Oracle 关系型数据库通常包含下列组件 客户端应用程序 Client 数据库服务器 Server 和数据库 Database 数据库的作用就是用来储存数据 关系型数据库是由许多数据表 Table 所组成 数据表又是由许多条记录 Row 或 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 之上的 应用程序 应用程序的 ADO 调用先被送到OLEDB 然后再交由ODBC处理 应用程序当然也可以直接连接到 OLEDB 层 如果这么做了 服务器端游标 recordset的缺省的游标 也是最常用的游标 性能会得到提升 然而就会失去易用性等 ADO 控件带来的特性 3连接数据库 在JavaScript中 使用 newActiveXObject ADODB Connection 方法建立一个新的ADODB的连接 Connection 对象 Connection 对象代表与数据源进行的唯一会话 如果是客户端 服务器数据库系统 该对象可以等价于到服务器的实际网络连接 取决于提供者所支持的功能 Connection对象的某些集合 方法或属性有可能无效 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控件实例的版本信息 3 2 Connection 对象的方法 BeginTrans CommitTrans 和 RollbackTrans 方法用于处理连接对象中的事务过程 此三个方法均无参数 其作用为 1 BeginTrans 方法 开始一个新的事物 2 CommitTrans 方法 保存事务中发生的更改 并结束当前事务 其也可能打开一个新的事物 3 RollbackTrans 方法 取消事务中发生的更改 并结束当前事务 其也可能打开一个新的事物 如果希望将对源数据所做的一系列更改作为一个单元进行操作 可以使用这些 Connection 对象的方法 例如在电子商务中 执行货币转帐的操作 执行的更改至少需要两步 从转出帐户中减去某个数额 并在转入帐户上添加对等数额 其中任意步骤发生错误 都将导致帐户收支不平衡 在打开的事务中进行这些更改可确保只能选择进行全部更改或不作任何更改 3 3 ADO 控件连接对象综述 使用 Connection 对象的集合 方法和属性可执行下列操作 1 在打开连接前使用 ConnectionString ConnectionTimeout 和 Mode 属性对连接进行配置 2 设置 CursorLocation 属性以便调用支持批更新的 客户端游标提供者 3 使用 DefaultDatabase 属性设置连接的默认数据库 4 使用 IsolationLevel 属性为在连接上打开的事务设置隔离级别 5 使用 Provider 属性指定 OLEDB 提供者 6 使用 Open 方法建立到数据源的物理连接 使用 Close 方法将其断开 7 使用 Execute 方法执行对连接的命令 并使用 CommandTimeout 属性对执行进行配置 8 可使用 BeginTrans CommitTrans 和 RollbackTrans 方法以及 Attributes 属性管理打开的连接上的事务 如果数据提供者支持则包括嵌套的事务 9 使用 Errors 集合检查数据源返回的错误 10 通过 Version 属性读取使用中的 ADO 执行版本 11 使用 OpenSchema 方法获取数据库模式信息 4执行SQL命令 在获取了对数据库的连接后 下一步需要做的就是执行相应的SQL代码 来向数据提供者发出所需要执行的命令 这就需要用到 ADO 控件的命令对象 ADODB Command Command 对象用于执行指定的查询 并返回查询后的数据集对象 以便执行大量操作或处理数据库结构 在JavaScript中构建 Command 对象的语法为 objCommand newActiveXObject ADODB Command 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 对象中的同名属性 4 2命令 Command 对象的方法 Command 对象的方法有三个 Cancel CreateParameter 和 Execute Cancel 方法类似于 Connection 对象的同名方法 CreateParameter 用于创建一个新的 Parameter 对象 其语法为 objParameter command CreateParameter Name Type Direction Size Value 此方法返回值是一个新建的参数 Parameter 对象 此方法的参数 Name 可选 字符串型 为新建 Parameter 对象的名称 Type 可选 长整型 指定新建 Parameter 对象的数据类型 可能的取值见下表 4 3命令 Command 对象的使用概要 可以使用 Command 对象的集合 方法 属性进行下列操作 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 方法获得 其语法为 objRecordset newActiveXObject ADODB Recordset 或者可以通过 Connection 或 Command 对象的 Execute 方法的返回值获得 5 1数据集 Recordset 对象的属性 一 Recordset 对象的属性如下 1 AbsolutePage 属性 长整型 可读写 设置或返回从1开始至 Recordset 对象所含页数的长整型数值 2 AbsolutePosition 属性 长整型 可读写 设置或返回从1至 Recordset 对象所含记录数的长整型值 3 ActiveCommand 属性 指向创建相关 Recordset 对象的 Command 对象 此属性只读 如果没有使用 Command 对象创建当前 Recordset 将返回空值 null 4 ActiveConnection 属性 标识当前 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 对象对应记录集中的一列 5 2数据集 Recordset 对象的属性 二 13 Filter 属性 可读写 设置或返回作用在数据集上的筛选条件 其允许的数据类型有 字符串型 由一个或多个用 AND 或 OR 操作符连接的子句组成的字符串 书签数组 指向 Recordset 对象中记录的唯一书签值构成的数组 长整型 其可能取值和含义见下表 5 3数据集 Recordset 对象的方法 Recordset 对象的方法有 1 AddNew 方法 用于向 Recordset 对象中添加新的记录 其语法为 recordset AddNew FieldList Values 2 Cancel 方法 类似于 Connection 对象和 Command 对象的同名方法 3 CancelBatch 方法 用于取消挂起的批量更新 其语法为 recordset CancelBatch AffectRecords 3 CancelUpdate 方法用于在调用 Update 方法前 取消对当前记录或新建记录的更改 其语法为 recordset CancelUpdate 4 Clone 方法可以基于当前记录集对象 克隆一个完全相同的记录集 同时定义新记录集的锁定类型 其语法为 varnewRecordset oldRecordset Clone LockType 5 Close 方法用于关闭 Recordset 对象 此方法无参数 无返回值 其语法为 recordset Close 6 Delete 方法用于删除当前的记录 或者指定的一组记录 其语法为 recordset Delete AffectRecords 7 Find 方法 用于在记录集中查找符合条件的记录 其语法为 recordset Find Criteria SkipRows SearchDirection Start 8 GetRows 方法 将 Recordset 对象中的指定部分数据作为一个二维数组返回 其语法为 array recordset GetRows Rows Start Fields 9 Move MoveFirst MoveLast MoveNext 和 MovePrevious 方法用于移动记录集中的记录指针 Move 方法的语法为 recordset Move NumRecords Start 10 Open 方法用于打开 Recordset 对象 其语法为 recordset Open Source ActiveConnection CursorType LockType Options 11 Requery 方法重新执行查询并刷新其数据内容 其语法为 recordset Requery Options 12 Update 方法用于保存对 Recordset 对象的当前记录所作的更改 此方法无参数 UpdateBatch 方法用于将所有挂起的批量更新写入磁盘 此方法无参数 5 4字段 Field 对象

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论