用于 Adobe® Flash® Platform 的 ActionScript® 3.0 参考
主页  |  隐藏包列表和类列表 |   |   |  新增内容  |  索引  |  附录  |  为什么显示为英语?
过滤条件: AIR 30.0 和更早版本, Flash Player 30.0 和更早版本, Flash Lite 4
Flex 4.6 和更早版本, Flash Pro CS6 和更早版本
隐藏过滤条件
flash.data 

SQLConnection  - AS3

x

顶级
adobe.utils
air.desktop
air.net
air.update
air.update.events
coldfusion.air
coldfusion.air.errors
coldfusion.air.events
coldfusion.service
coldfusion.service.events
coldfusion.service.mxml
com.adobe.acm.solutions.authoring.domain.extensions
com.adobe.acm.solutions.ccr.domain.extensions
com.adobe.consulting.pst.vo
com.adobe.dct.component
com.adobe.dct.component.datadictionary
com.adobe.dct.component.datadictionaryElement
com.adobe.dct.component.dataElementsPanel
com.adobe.dct.component.toolbars
com.adobe.dct.event
com.adobe.dct.exp
com.adobe.dct.model
com.adobe.dct.service
com.adobe.dct.service.provider
com.adobe.dct.transfer
com.adobe.dct.util
com.adobe.dct.view
com.adobe.ep.taskmanagement.domain
com.adobe.ep.taskmanagement.event
com.adobe.ep.taskmanagement.filter
com.adobe.ep.taskmanagement.services
com.adobe.ep.taskmanagement.util
com.adobe.ep.ux.attachmentlist.component
com.adobe.ep.ux.attachmentlist.domain
com.adobe.ep.ux.attachmentlist.domain.events
com.adobe.ep.ux.attachmentlist.domain.renderers
com.adobe.ep.ux.attachmentlist.skin
com.adobe.ep.ux.attachmentlist.skin.renderers
com.adobe.ep.ux.content.event
com.adobe.ep.ux.content.factory
com.adobe.ep.ux.content.handlers
com.adobe.ep.ux.content.managers
com.adobe.ep.ux.content.model.asset
com.adobe.ep.ux.content.model.preview
com.adobe.ep.ux.content.model.relation
com.adobe.ep.ux.content.model.search
com.adobe.ep.ux.content.model.toolbar
com.adobe.ep.ux.content.search
com.adobe.ep.ux.content.services
com.adobe.ep.ux.content.services.load
com.adobe.ep.ux.content.services.permissions
com.adobe.ep.ux.content.services.preview
com.adobe.ep.ux.content.services.providers
com.adobe.ep.ux.content.services.query
com.adobe.ep.ux.content.services.relationships
com.adobe.ep.ux.content.services.search.lccontent
com.adobe.ep.ux.content.services.version
com.adobe.ep.ux.content.view
com.adobe.ep.ux.content.view.components.activate
com.adobe.ep.ux.content.view.components.grid
com.adobe.ep.ux.content.view.components.grid.hover
com.adobe.ep.ux.content.view.components.grid.hover.component
com.adobe.ep.ux.content.view.components.grid.renderers
com.adobe.ep.ux.content.view.components.relationships
com.adobe.ep.ux.content.view.components.review
com.adobe.ep.ux.content.view.components.search.renderers
com.adobe.ep.ux.content.view.components.searchpod
com.adobe.ep.ux.content.view.components.toolbar
com.adobe.ep.ux.content.view.components.toolbar.controlRenderers
com.adobe.ep.ux.content.view.components.version
com.adobe.ep.ux.documentsubmit.component
com.adobe.ep.ux.documentsubmit.domain
com.adobe.ep.ux.documentsubmit.skin
com.adobe.ep.ux.taskaction.component
com.adobe.ep.ux.taskaction.domain
com.adobe.ep.ux.taskaction.domain.events
com.adobe.ep.ux.taskaction.skin
com.adobe.ep.ux.taskdetails.component
com.adobe.ep.ux.taskdetails.domain
com.adobe.ep.ux.taskdetails.skin
com.adobe.ep.ux.tasklist.component
com.adobe.ep.ux.tasklist.domain
com.adobe.ep.ux.tasklist.skin
com.adobe.ep.ux.webdocumentviewer.domain
com.adobe.exm.expression
com.adobe.exm.expression.error
com.adobe.exm.expression.event
com.adobe.exm.expression.impl
com.adobe.fiber.runtime.lib
com.adobe.fiber.services
com.adobe.fiber.services.wrapper
com.adobe.fiber.styles
com.adobe.fiber.util
com.adobe.fiber.valueobjects
com.adobe.gravity.binding
com.adobe.gravity.context
com.adobe.gravity.flex.bundleloader
com.adobe.gravity.flex.progress
com.adobe.gravity.flex.serviceloader
com.adobe.gravity.framework
com.adobe.gravity.init
com.adobe.gravity.service.bundleloader
com.adobe.gravity.service.logging
com.adobe.gravity.service.manifest
com.adobe.gravity.service.progress
com.adobe.gravity.tracker
com.adobe.gravity.ui
com.adobe.gravity.utility
com.adobe.gravity.utility.async
com.adobe.gravity.utility.error
com.adobe.gravity.utility.events
com.adobe.gravity.utility.factory
com.adobe.gravity.utility.flex.async
com.adobe.gravity.utility.logging
com.adobe.gravity.utility.message
com.adobe.gravity.utility.sequence
com.adobe.gravity.utility.url
com.adobe.guides.control
com.adobe.guides.domain
com.adobe.guides.i18n
com.adobe.guides.spark.components.skins
com.adobe.guides.spark.components.skins.mx
com.adobe.guides.spark.headers.components
com.adobe.guides.spark.headers.skins
com.adobe.guides.spark.layouts.components
com.adobe.guides.spark.layouts.skins
com.adobe.guides.spark.navigators.components
com.adobe.guides.spark.navigators.renderers
com.adobe.guides.spark.navigators.skins
com.adobe.guides.spark.util
com.adobe.guides.spark.wrappers.components
com.adobe.guides.spark.wrappers.skins
com.adobe.guides.submit
com.adobe.icc.dc.domain
com.adobe.icc.dc.domain.factory
com.adobe.icc.editors.events
com.adobe.icc.editors.handlers
com.adobe.icc.editors.managers
com.adobe.icc.editors.model
com.adobe.icc.editors.model.config
com.adobe.icc.editors.model.el
com.adobe.icc.editors.model.el.operands
com.adobe.icc.editors.model.el.operators
com.adobe.icc.enum
com.adobe.icc.external.dc
com.adobe.icc.obj
com.adobe.icc.services
com.adobe.icc.services.category
com.adobe.icc.services.config
com.adobe.icc.services.download
com.adobe.icc.services.export
com.adobe.icc.services.external
com.adobe.icc.services.formbridge
com.adobe.icc.services.fragmentlayout
com.adobe.icc.services.layout
com.adobe.icc.services.letter
com.adobe.icc.services.locator
com.adobe.icc.services.module
com.adobe.icc.services.render
com.adobe.icc.services.submit
com.adobe.icc.services.user
com.adobe.icc.token
com.adobe.icc.vo
com.adobe.icc.vo.render
com.adobe.icomm.assetplacement.controller
com.adobe.icomm.assetplacement.controller.utils
com.adobe.icomm.assetplacement.data
com.adobe.icomm.assetplacement.model
com.adobe.livecycle.assetmanager.client
com.adobe.livecycle.assetmanager.client.event
com.adobe.livecycle.assetmanager.client.handler
com.adobe.livecycle.assetmanager.client.managers
com.adobe.livecycle.assetmanager.client.model
com.adobe.livecycle.assetmanager.client.model.cms
com.adobe.livecycle.assetmanager.client.service
com.adobe.livecycle.assetmanager.client.service.search
com.adobe.livecycle.assetmanager.client.service.search.cms
com.adobe.livecycle.assetmanager.client.utils
com.adobe.livecycle.content
com.adobe.livecycle.rca.model
com.adobe.livecycle.rca.model.constant
com.adobe.livecycle.rca.model.document
com.adobe.livecycle.rca.model.participant
com.adobe.livecycle.rca.model.reminder
com.adobe.livecycle.rca.model.stage
com.adobe.livecycle.rca.service
com.adobe.livecycle.rca.service.core
com.adobe.livecycle.rca.service.core.delegate
com.adobe.livecycle.rca.service.process
com.adobe.livecycle.rca.service.process.delegate
com.adobe.livecycle.rca.token
com.adobe.livecycle.ria.security.api
com.adobe.livecycle.ria.security.service
com.adobe.mosaic.layouts
com.adobe.mosaic.layouts.dragAndDrop
com.adobe.mosaic.layouts.interfaces
com.adobe.mosaic.mxml
com.adobe.mosaic.om.constants
com.adobe.mosaic.om.events
com.adobe.mosaic.om.impl
com.adobe.mosaic.om.interfaces
com.adobe.mosaic.skinning
com.adobe.mosaic.sparklib.editors
com.adobe.mosaic.sparklib.optionMenu
com.adobe.mosaic.sparklib.scrollableMenu
com.adobe.mosaic.sparklib.scrollableMenu.skins
com.adobe.mosaic.sparklib.tabLayout
com.adobe.mosaic.sparklib.tabLayout.events
com.adobe.mosaic.sparklib.tabLayout.layouts
com.adobe.mosaic.sparklib.tabLayout.skins
com.adobe.mosaic.sparklib.text
com.adobe.mosaic.sparklib.util
com.adobe.solutions.acm.authoring.presentation
com.adobe.solutions.acm.authoring.presentation.actionbar
com.adobe.solutions.acm.authoring.presentation.common
com.adobe.solutions.acm.authoring.presentation.events
com.adobe.solutions.acm.authoring.presentation.fragment
com.adobe.solutions.acm.authoring.presentation.letter
com.adobe.solutions.acm.authoring.presentation.letter.data
com.adobe.solutions.acm.authoring.presentation.preview
com.adobe.solutions.acm.authoring.presentation.rte
com.adobe.solutions.acm.ccr.presentation
com.adobe.solutions.acm.ccr.presentation.contentcapture
com.adobe.solutions.acm.ccr.presentation.contentcapture.events
com.adobe.solutions.acm.ccr.presentation.contentcapture.preview
com.adobe.solutions.acm.ccr.presentation.datacapture
com.adobe.solutions.acm.ccr.presentation.datacapture.renderers
com.adobe.solutions.acm.ccr.presentation.pdf
com.adobe.solutions.exm
com.adobe.solutions.exm.authoring
com.adobe.solutions.exm.authoring.components.controls
com.adobe.solutions.exm.authoring.components.toolbars
com.adobe.solutions.exm.authoring.domain
com.adobe.solutions.exm.authoring.domain.expression
com.adobe.solutions.exm.authoring.domain.impl
com.adobe.solutions.exm.authoring.domain.method
com.adobe.solutions.exm.authoring.domain.variable
com.adobe.solutions.exm.authoring.enum
com.adobe.solutions.exm.authoring.events
com.adobe.solutions.exm.authoring.model
com.adobe.solutions.exm.authoring.renderer
com.adobe.solutions.exm.authoring.view
com.adobe.solutions.exm.expression
com.adobe.solutions.exm.impl
com.adobe.solutions.exm.impl.method
com.adobe.solutions.exm.method
com.adobe.solutions.exm.mock
com.adobe.solutions.exm.mock.method
com.adobe.solutions.exm.runtime
com.adobe.solutions.exm.runtime.impl
com.adobe.solutions.exm.variable
com.adobe.solutions.prm.constant
com.adobe.solutions.prm.domain
com.adobe.solutions.prm.domain.factory
com.adobe.solutions.prm.domain.impl
com.adobe.solutions.prm.domain.manager
com.adobe.solutions.prm.presentation.asset
com.adobe.solutions.prm.presentation.constant
com.adobe.solutions.prm.presentation.document
com.adobe.solutions.prm.presentation.event
com.adobe.solutions.prm.presentation.file
com.adobe.solutions.prm.presentation.project
com.adobe.solutions.prm.presentation.team
com.adobe.solutions.prm.presentation.util
com.adobe.solutions.prm.service
com.adobe.solutions.prm.services.impl
com.adobe.solutions.prm.vo
com.adobe.solutions.rca.constant
com.adobe.solutions.rca.domain
com.adobe.solutions.rca.domain.common
com.adobe.solutions.rca.domain.factory
com.adobe.solutions.rca.domain.impl
com.adobe.solutions.rca.domain.impl.manager
com.adobe.solutions.rca.domain.manager
com.adobe.solutions.rca.presentation
com.adobe.solutions.rca.presentation.comment
com.adobe.solutions.rca.presentation.constant
com.adobe.solutions.rca.presentation.event
com.adobe.solutions.rca.presentation.gantt
com.adobe.solutions.rca.presentation.gantt.ruler
com.adobe.solutions.rca.presentation.template
com.adobe.solutions.rca.presentation.template.audit
com.adobe.solutions.rca.presentation.template.definition
com.adobe.solutions.rca.presentation.template.documents
com.adobe.solutions.rca.presentation.template.stages
com.adobe.solutions.rca.presentation.util
com.adobe.solutions.rca.service
com.adobe.solutions.rca.services.impl
com.adobe.solutions.rca.vo
com.adobe.solutions.rca.vo.um
com.adobe.viewsource
fl.accessibility
fl.containers
fl.controls
fl.controls.dataGridClasses
fl.controls.listClasses
fl.controls.progressBarClasses
fl.core
fl.data
fl.display
fl.events
fl.ik
fl.lang
fl.livepreview
fl.managers
fl.motion
fl.motion.easing
fl.rsl
fl.text
fl.transitions
fl.transitions.easing
fl.video
flash.accessibility
flash.concurrent
flash.crypto
flash.data
flash.desktop
flash.display
flash.display3D
flash.display3D.textures
flash.errors
flash.events
flash.external
flash.filesystem
flash.filters
flash.geom
flash.globalization
flash.html
flash.media
flash.net
flash.net.dns
flash.net.drm
flash.notifications
flash.permissions
flash.printing
flash.profiler
flash.sampler
flash.security
flash.sensors
flash.system
flash.text
flash.text.engine
flash.text.ime
flash.ui
flash.utils
flash.xml
flashx.textLayout
flashx.textLayout.compose
flashx.textLayout.container
flashx.textLayout.conversion
flashx.textLayout.edit
flashx.textLayout.elements
flashx.textLayout.events
flashx.textLayout.factory
flashx.textLayout.formats
flashx.textLayout.operations
flashx.textLayout.utils
flashx.undo
ga.controls
ga.layouts
ga.model
ga.uiComponents
ga.util
ga.views
ga.wrappers
lc.foundation
lc.foundation.domain
lc.foundation.events
lc.foundation.ui
lc.foundation.util
lc.preloader
lc.procmgmt
lc.procmgmt.commands
lc.procmgmt.domain
lc.procmgmt.events
lc.procmgmt.formbridge
lc.procmgmt.impl
lc.procmgmt.ui.attachments
lc.procmgmt.ui.controls
lc.procmgmt.ui.controls.card
lc.procmgmt.ui.controls.renderer
lc.procmgmt.ui.help
lc.procmgmt.ui.layout
lc.procmgmt.ui.presentationmodel
lc.procmgmt.ui.process
lc.procmgmt.ui.search
lc.procmgmt.ui.startpoint
lc.procmgmt.ui.task
lc.procmgmt.ui.task.form
lc.procmgmt.ui.task.form.commands
lc.procmgmt.ui.tracking
mx.accessibility
mx.automation
mx.automation.air
mx.automation.delegates
mx.automation.delegates.advancedDataGrid
mx.automation.delegates.charts
mx.automation.delegates.containers
mx.automation.delegates.controls
mx.automation.delegates.controls.dataGridClasses
mx.automation.delegates.controls.fileSystemClasses
mx.automation.delegates.core
mx.automation.delegates.flashflexkit
mx.automation.events
mx.binding
mx.binding.utils
mx.charts
mx.charts.chartClasses
mx.charts.effects
mx.charts.effects.effectClasses
mx.charts.events
mx.charts.renderers
mx.charts.series
mx.charts.series.items
mx.charts.series.renderData
mx.charts.styles
mx.collections
mx.collections.errors
mx.containers
mx.containers.accordionClasses
mx.containers.dividedBoxClasses
mx.containers.errors
mx.containers.utilityClasses
mx.controls
mx.controls.advancedDataGridClasses
mx.controls.dataGridClasses
mx.controls.listClasses
mx.controls.menuClasses
mx.controls.olapDataGridClasses
mx.controls.scrollClasses
mx.controls.sliderClasses
mx.controls.textClasses
mx.controls.treeClasses
mx.controls.videoClasses
mx.core
mx.core.windowClasses
mx.data
mx.data.crypto
mx.data.errors
mx.data.events
mx.data.messages
mx.data.mxml
mx.data.offline.errors
mx.data.utils
mx.effects
mx.effects.easing
mx.effects.effectClasses
mx.events
mx.filters
mx.flash
mx.formatters
mx.geom
mx.graphics
mx.graphics.codec
mx.graphics.shaderClasses
mx.logging
mx.logging.errors
mx.logging.targets
mx.managers
mx.messaging
mx.messaging.channels
mx.messaging.config
mx.messaging.errors
mx.messaging.events
mx.messaging.management
mx.messaging.messages
mx.modules
mx.netmon
mx.olap
mx.olap.aggregators
mx.preloaders
mx.printing
mx.resources
mx.rpc
mx.rpc.events
mx.rpc.http
mx.rpc.http.mxml
mx.rpc.livecycle
mx.rpc.mxml
mx.rpc.remoting
mx.rpc.remoting.mxml
mx.rpc.soap
mx.rpc.soap.mxml
mx.rpc.wsdl
mx.rpc.xml
mx.skins
mx.skins.halo
mx.skins.spark
mx.skins.wireframe
mx.skins.wireframe.windowChrome
mx.states
mx.styles
mx.utils
mx.validators
org.osmf.containers
org.osmf.display
org.osmf.elements
org.osmf.events
org.osmf.layout
org.osmf.logging
org.osmf.media
org.osmf.metadata
org.osmf.net
org.osmf.net.dvr
org.osmf.net.httpstreaming
org.osmf.net.metrics
org.osmf.net.qos
org.osmf.net.rtmpstreaming
org.osmf.net.rules
org.osmf.traits
org.osmf.utils
spark.accessibility
spark.automation.delegates
spark.automation.delegates.components
spark.automation.delegates.components.gridClasses
spark.automation.delegates.components.mediaClasses
spark.automation.delegates.components.supportClasses
spark.automation.delegates.skins.spark
spark.automation.events
spark.collections
spark.components
spark.components.calendarClasses
spark.components.gridClasses
spark.components.mediaClasses
spark.components.supportClasses
spark.components.windowClasses
spark.core
spark.effects
spark.effects.animation
spark.effects.easing
spark.effects.interpolation
spark.effects.supportClasses
spark.events
spark.filters
spark.formatters
spark.formatters.supportClasses
spark.globalization
spark.globalization.supportClasses
spark.layouts
spark.layouts.supportClasses
spark.managers
spark.modules
spark.preloaders
spark.primitives
spark.primitives.supportClasses
spark.skins
spark.skins.mobile
spark.skins.mobile.supportClasses
spark.skins.spark
spark.skins.spark.mediaClasses.fullScreen
spark.skins.spark.mediaClasses.normal
spark.skins.spark.windowChrome
spark.skins.wireframe
spark.skins.wireframe.mediaClasses
spark.skins.wireframe.mediaClasses.fullScreen
spark.transitions
spark.utils
spark.validators
spark.validators.supportClasses
xd.core.axm.enterprise.view.components
xd.core.axm.enterprise.view.skins
xd.core.axm.view.components
xd.core.axm.view.components.support

语言元素

全局常量
全局函数
运算符
语句、关键字和指令
特殊类型

附录

新增内容
编译器错误
编译器警告
运行时错误
迁移到 ActionScript 3
支持的字符集
仅适用于 MXML 的标签
Motion XML 元素
Timed Text 标记
不推荐使用的元素的列表
AccessibilityImplementation 常量
如何使用 ActionScript 示例
法律声明
flash.data
public class SQLConnection
继承SQLConnection Inheritance EventDispatcher Inheritance Object

语言版本: ActionScript 3.0
运行时版本: AIR 1.0

SQLConnection 实例用于管理本地 SQL 数据库文件(本地数据库)的创建和连接过程。

SQLConnection 类的功能分为以下几个类别:

  • 创建一个本地 SQL 数据库文件,或通过调用 open() 方法或 SQLStatement 的 sqlConnection 属性的 SQLConnection 实例打开一个本地 SQL 数据库文件。

  • SQLConnection 类还提供 SQL 语句的状态,包括在事务中执行多个语句的机制。使用 begin()commit()rollback() 方法管理事务。此外,setSavepoint()releaseSavepoint()rollbackToSavepoint() 方法允许代码定义和管理保存点。这些方法用于将事务分割为几组操作。

  • 通过 SQLConnection 类,可以访问所连接的数据库的数据库架构信息。数据库的架构说明数据库的表、列、索引和触发器的定义。有关详细信息,请参阅 loadSchema() 方法。

  • 通过 SQLConnection 类,可以使用 AES-CCM 对数据库加密。这样为数据提供了身份验证和保密性。为了对数据库加密,创建数据库时必须指定一个 16 字节的密钥(使用 ByteArray 指定)。以后可以使用 SQLConnection.reencrypt() 方法更改此密钥。加密会降低数据库的读写性能。加密应用于磁盘上存储的数据,但不应用于内存中的临时数据缓存。对于内存中的数据库 支持加密。

  • 可以使用 SQLConnection 实例来接收数据库级别的事件通知并控制数据库各个方面的配置,其中包括缓存页大小、过程取消和语句执行选项。

SQLConnection 实例可在异步和同步这两种完全不同的执行模式之一中运行。要使用同步执行模式,请使用 open() 方法连接到 SQLConnection 实例的主数据库。要使用异步执行模式,请使用 openAsync() 方法连接该实例的主数据库。

在使用异步执行模式时,可以使用事件侦听器或 Responder 实例来确定操作何时完成或失败。由于操作是在后台而不是在主应用程序线程中运行,因此即使数据库操作正在执行,应用程序也可以继续运行并响应用户交互。每个异步 SQLConnection 实例在自己的线程中执行 SQL 语句。

在异步执行模式中,可以通过调用相应的方法来开始特定操作,并可以通过对相应的事件注册侦听器来检测操作的完成(或失败)。每个操作都有一个相关联的事件,操作成功完成时将调度该事件;例如,当一个 openAsync() 方法调用成功完成时(数据库连接打开时),将会调度 open 事件。当任何操作失败时,将调度 error 事件。SQLErrorEvent 对象的 error 属性中的 SQLError 实例包含有关特定错误的信息,包括尝试的操作和操作失败的原因。

在使用同步执行模式时,不必注册事件侦听器即可以确定操作何时完成或失败。要识别错误,请将引发错误的语句括在 try..catch 块中。由于同步操作是在主执行线程中执行的,因此执行数据库操作时,所有应用程序功能(包括刷新屏幕和允许鼠标和键盘互操作)都暂停。对于长时间运行的操作,这会导致应用程序中出现明显的暂停。

了解详细信息

相关 API 元素



公共属性
 属性由以下参数定义
      autoCompact : Boolean
[只读] 表示在最初创建当前数据库时是否启用自动压缩(为创建该数据库的 open() 或 openAsync() 调用中的 autoCompact 参数指定的值)。
SQLConnection
      cacheSize : uint
提供对此连接的缓存大小的访问,缓存大小表示在内存中一次容纳的最大数据库磁盘页数。
SQLConnection
      columnNameStyle : String
表示在 SELECT 语句结果中报告列名称的方式。
SQLConnection
      connected : Boolean
[只读] 表示 SQLConnection 实例是否具有到数据库文件的打开连接。
SQLConnection
 Inheritedconstructor : Object
对类对象或给定对象实例的构造函数的引用。
Object
      inTransaction : Boolean
[只读] 表示事务中当前是否涉及此连接。
SQLConnection
      isSupported : Boolean
[静态] [只读] 表示当前平台上是否支持 SQLConnection 类。
SQLConnection
      lastInsertRowID : Number
[只读] 上次生成的行标识符(由 SQL INSERT 语句创建)。
SQLConnection
      pageSize : uint
[只读] 表示在最初创建当前数据库时指定的数据库页大小,以字节为单位(为创建该数据库的 open() 或 openAsync() 调用中的 pageSize 参数指定的值)。
SQLConnection
      totalChanges : Number
[只读] 包含在打开数据库连接后所做的数据更改的总数。
SQLConnection
公共方法
 方法由以下参数定义
  
    SQLConnection()
创建 SQLConnection 实例。
SQLConnection
  
    addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0.0, useWeakReference:Boolean = false):void
[覆盖] 使用 EventDispatcher 对象注册事件侦听器对象,以使侦听器能够接收事件通知。
SQLConnection
  
    analyze(resourceName:String = null, responder:Responder = null):void
收集有关数据库索引的统计信息,并将其存储在数据库中。
SQLConnection
  
    attach(name:String, reference:Object = null, responder:Responder = null, encryptionKey:ByteArray = null):void
将另一个数据库添加到 SQLConnection 实例中,并将新数据库命名为指定的名称。
SQLConnection
  
    begin(option:String = null, responder:Responder = null):void
开始一个事务,其中将对针对连接的一个或多个数据库执行的所有 SQL 语句进行分组。
SQLConnection
  
    cancel(responder:Responder = null):void
终止当前对连接到 SQLConnection 实例的数据库执行的所有 SQL 语句。
SQLConnection
  
    close(responder:Responder = null):void
断开当前数据库连接。
SQLConnection
  
    commit(responder:Responder = null):void
提交一个现有事务,从而导致将该事务的语句执行的任何动作永久应用于数据库。
SQLConnection
  
    compact(responder:Responder = null):void
回收数据库中所有未使用的空间。
SQLConnection
  
    deanalyze(responder:Responder = null):void
删除通过调用 analyze() 方法创建的所有统计信息。
SQLConnection
  
    detach(name:String, responder:Responder = null):void
断开另一个以前使用 attach() 方法连接到 SQLConnection 实例的数据库。
SQLConnection
 Inherited
将事件调度到事件流中。
EventDispatcher
  
提供对 loadSchema() 方法调用结果的访问。
SQLConnection
 Inherited
检查 EventDispatcher 对象是否为特定事件类型注册了任何侦听器。
EventDispatcher
 Inherited
表示对象是否已经定义了指定的属性。
Object
 Inherited
表示 Object 类的实例是否在指定为参数的对象的原型链中。
Object
  
    loadSchema(type:Class = null, name:String = null, database:String = "main", includeColumnSchema:Boolean = true, responder:Responder = null):void
从连接的数据库或任何附加的数据库中加载架构信息。
SQLConnection
  
    open(reference:Object = null, openMode:String = "create", autoCompact:Boolean = false, pageSize:int = 1024, encryptionKey:ByteArray = null):void
打开在文件系统指定位置处的数据库文件的同步连接,或者在该位置创建并打开新的数据库文件,或者创建并打开内存数据库。
SQLConnection
  
    openAsync(reference:Object = null, openMode:String = "create", responder:Responder = null, autoCompact:Boolean = false, pageSize:int = 1024, encryptionKey:ByteArray = null):void
打开在文件系统指定位置处的数据库文件的异步连接,或者在该位置创建并打开新的数据库文件,或者创建并打开内存数据库。
SQLConnection
 Inherited
表示指定的属性是否存在、是否可枚举。
Object
  
    reencrypt(newEncryptionKey:ByteArray, responder:Responder = null):void
更改加密数据库的加密密钥。
SQLConnection
  
    releaseSavepoint(name:String = null, responder:Responder = null):void
此方法提交自最新保存点或命名的保存点(如果名称已指定)起执行的所有 SQL 操作。
SQLConnection
  
    removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void
[覆盖] 从 EventDispatcher 对象中删除侦听器。
SQLConnection
  
    rollback(responder:Responder = null):void
回滚使用 begin() 方法创建的现有事务,这意味着放弃事务中的任何 SQL 语句所做的所有更改。
SQLConnection
  
    rollbackToSavepoint(name:String = null, responder:Responder = null):void
回滚自最新保存点或命名的保存点(如果名称已指定)起的所有 SQL 操作。
SQLConnection
 Inherited
设置循环操作动态属性的可用性。
Object
  
    setSavepoint(name:String = null, responder:Responder = null):void
创建保存点,保存点类似于数据库事务内的书签。
SQLConnection
 Inherited
返回此对象的字符串表示形式,其格式设置遵守区域设置特定的约定。
Object
 Inherited
返回指定对象的字符串表示形式。
Object
 Inherited
返回指定对象的原始值。
Object
 Inherited
检查是否用此 EventDispatcher 对象或其任何祖代为指定事件类型注册了事件侦听器。
EventDispatcher
事件
 事件 摘要 由以下参数定义
 Inherited[广播事件] Flash Player 或 AIR 应用程序获得操作系统焦点并变为活动状态时将调度此事件。EventDispatcher
  
    analyze
在 analyze() 操作成功完成时调度。SQLConnection
  
    attach
在 attach() 方法调用操作成功完成时调度。SQLConnection
  
    begin
在 begin() 方法调用操作成功完成时调度。SQLConnection
  
    cancel
在 cancel() 方法调用操作成功完成时调度。SQLConnection
  
    close
在 close() 方法调用操作成功完成时调度。SQLConnection
  
    commit
在 commit() 方法调用操作成功完成时调度。SQLConnection
  
    compact
在 compact() 方法调用操作成功完成时调度。SQLConnection
 Inherited[广播事件] Flash Player 或 AIR 应用程序失去操作系统焦点并变为非活动状态时将调度此事件。EventDispatcher
  
    deanalyze
在 deanalyze() 方法调用操作成功完成时调度。SQLConnection
  
    delete
在任何连接的数据库的任何表中的数据由于 SQL DELETE 命令而发生更改时调度。SQLConnection
  
    detach
在 detach() 方法调用操作成功完成时调度。SQLConnection
  
    error
任何 SQLConnection 对象的异步操作导致错误时调度。SQLConnection
  
    insert
在任何连接的数据库的任何表中的数据由于 SQL INSERT 命令而发生更改时调度。SQLConnection
  
    open
在 openAsync() 方法调用操作成功完成时调度。SQLConnection
  
    reencrypt
调用 reencrypt() 方法的操作成功完成时将调度此事件。SQLConnection
  在成功完成 releaseSavepoint() 方法调用的操作时调度。SQLConnection
  
    rollback
在 rollback() 方法调用操作成功完成时调度。SQLConnection
  在成功完成 rollbackToSavepoint() 方法调用的操作时调度。SQLConnection
  
    schema
在 loadSchema() 方法调用操作成功完成并且架构结果准备就绪时调度。SQLConnection
  
    setSavepoint
在成功完成 setSavepoint() 方法调用的操作时调度。SQLConnection
  
    update
在任何连接的数据库的任何表中的数据由于 SQL UPDATE 命令而发生更改时调度。SQLConnection
属性详细信息
    

autoCompact

属性
autoCompact:Boolean  [只读]

语言版本: ActionScript 3.0
运行时版本: AIR 1.0

表示在最初创建当前数据库时是否启用自动压缩(为创建该数据库的 open()openAsync() 调用中的 autoCompact 参数指定的值)。如果此属性为 true,则每次写入操作后从数据库文件中自动删除未使用的空间,使数据库文件保持更小。如果该属性为 false,则由删除的数据先前占用的空间保留在数据库文件中,需要时可重用。即使 autoCompact 为 false,也可以通过调用 compact() 方法强制数据库回收未使用的空间。

如果 connected 属性为 false,则此属性设置为 false



实现
    public function get autoCompact():Boolean

相关 API 元素

    

cacheSize

属性 
cacheSize:uint

语言版本: ActionScript 3.0
运行时版本: AIR 1.0

提供对此连接的缓存大小的访问,缓存大小表示在内存中一次容纳的最大数据库磁盘页数。每个页面使用约 1.5 KB 内存(具体取决于为用于创建数据库的 open()openAsync() 方法调用的 pageSize 参数指定的值)。默认缓存大小为 2000。如果某一应用程序正在执行更改数据库许多行的 UPDATEDELETE 操作,则提高缓存大小可提高速度,但会以提高内存使用量为代价。



实现
    public function get cacheSize():uint
    public function set cacheSize(value:uint):void

引发
IllegalOperationError — 在 SQLConnection 实例未连接到数据库(connected 属性为 false)的情况下尝试设置此属性时;或如果某一事务当前处于打开状态(inTransaction 属性为 true)。

相关 API 元素

    

columnNameStyle

属性 
columnNameStyle:String

语言版本: ActionScript 3.0
运行时版本: AIR 1.0

表示在 SELECT 语句结果中报告列名称的方式。

SQLColumnNameStyle 类中定义的常数表示此属性的可能值:

  • SQLColumnNameStyle.LONG 表示以 [table-name]_[column-name] 格式返回列名称。
  • SQLColumnNameStyle.SHORT 指定以 [column-name] 格式指定列名称。如果有多个同名的列,则只向结果对象中添加一个具有该名称的属性。
  • SQLColumnNameStyle.DEFAULT 是默认值。使用此值时,结果列名称根据具有类似列名称的 SELECT 语句中的表数来设置格式。如果 SELECT 语句只包括一个表,则使用短名称格式 [column-name];如果 SELECT 语句包括连接在一起的多个表,则在由于两个列名称相同而发生命名冲突时,将对名称相同的列使用长名称格式 [table-name]_[column-name]



实现
    public function get columnNameStyle():String
    public function set columnNameStyle(value:String):void

引发
IllegalOperationError — 在 SQLConnection 实例未连接到数据库(connected 属性为 false)的情况下尝试设置此属性时。

相关 API 元素

    

connected

属性 
connected:Boolean  [只读]

语言版本: ActionScript 3.0
运行时版本: AIR 1.0

表示 SQLConnection 实例是否具有到数据库文件的打开连接。



实现
    public function get connected():Boolean

相关 API 元素

    

inTransaction

属性 
inTransaction:Boolean  [只读]

语言版本: ActionScript 3.0
运行时版本: AIR 1.0

表示事务中当前是否涉及此连接。



实现
    public function get inTransaction():Boolean

相关 API 元素

    

isSupported

属性 
isSupported:Boolean  [只读]

语言版本: ActionScript 3.0
运行时版本: AIR 3.4

表示当前平台上是否支持 SQLConnection 类。



实现
    public static function get isSupported():Boolean
    

lastInsertRowID

属性 
lastInsertRowID:Number  [只读]

语言版本: ActionScript 3.0
运行时版本: AIR 1.0

上次生成的行标识符(由 SQL INSERT 语句创建)。行标识符用于唯一标识数据库表中的行。该值通常由数据库生成。

如果未连接数据库或未执行 INSERT 语句,则该值为 0。

用于单个 SQL INSERT 语句执行的行标识符可以通过由 SQLStatement 对象的 getResult() 方法返回的 SQLResult 对象的 lastInsertRowID 属性获得(在 SQLStatement 调度其 result 事件后调用时)。

有关主键和生成的行标识符的详细信息,请参阅“本地数据库中的 SQL 支持”中的“CREATE TABLE”和“Expressions 等章节。



实现
    public function get lastInsertRowID():Number

相关 API 元素

    

pageSize

属性 
pageSize:uint  [只读]

语言版本: ActionScript 3.0
运行时版本: AIR 1.0

表示在最初创建当前数据库时指定的数据库页大小,以字节为单位(为创建该数据库的 open()openAsync() 调用中的 pageSize 参数指定的值)。

如果 connected 属性为 false,则此属性的值为 0。

只有在数据库中创建第一个表后,才可以更改数据库的页大小(使用 open()openAsync() 方法)。



实现
    public function get pageSize():uint

相关 API 元素

    

totalChanges

属性 
totalChanges:Number  [只读]

语言版本: ActionScript 3.0
运行时版本: AIR 1.0

包含在打开数据库连接后所做的数据更改的总数。除了跟踪由 INSERTDELETEUPDATE 语句所做的更改外,此值还包括由触发器导致的更改。

数据库连接关闭时,此值重置为 0。当 SQLConnection 实例未连接到数据库时,此值为 0。



实现
    public function get totalChanges():Number

相关 API 元素

构造函数详细信息
    

SQLConnection

()构造函数
public function SQLConnection()

语言版本: ActionScript 3.0
运行时版本: AIR 1.0

创建 SQLConnection 实例。


引发
SecurityError — 如果从主应用程序沙箱外的任意沙箱中调用构造函数。
方法详细信息

    addEventListener

()方法
override public function addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0.0, useWeakReference:Boolean = false):void

语言版本: ActionScript 3.0
运行时版本: AIR 1.0

使用 EventDispatcher 对象注册事件侦听器对象,以使侦听器能够接收事件通知。可以为特定类型的事件、阶段和优先级在显示列表中的所有节点上注册事件侦听器。

成功注册一个事件侦听器后,无法通过额外调用 addEventListener() 来更改其优先级。要更改侦听器的优先级,必须首先调用 removeListener()。然后,可以使用新的优先级再次注册该侦听器。

请记住,注册该侦听器后,如果继续调用具有不同 typeuseCapture 值的 addEventListener(),则会创建单独的侦听器注册。例如,如果首先注册 useCapture 设置为 true 的侦听器,则该侦听器只在捕获阶段进行侦听。如果使用同一个侦听器对象再次调用 addEventListener(),并将 useCapture 设置为 false,那么便会拥有两个单独的侦听器:一个在捕获阶段进行侦听,另一个在目标和冒泡阶段进行侦听。

不能只为目标阶段或冒泡阶段注册事件侦听器。这些阶段在注册期间是成对出现的,因为冒泡阶段只适用于目标节点的祖代。

如果不再需要某个事件侦听器,可调用 removeEventListener() 删除它,否则会产生内存问题。事件侦听器不会自动从内存中删除,因为只要调度对象存在,垃圾回收器就不会删除侦听器(除非 useWeakReference 参数设置为 true)。

复制 EventDispatcher 实例时并不复制其中附加的事件侦听器。(如果新近创建的节点需要一个事件侦听器,必须在创建该节点后附加该侦听器。)但是,如果移动 EventDispatcher 实例,则其中附加的事件侦听器也会随之移动。

如果在正在处理事件的节点上注册事件侦听器,则不会在当前阶段触发事件侦听器,但会在事件流的稍后阶段触发,如冒泡阶段。

如果从正在处理事件的节点中删除事件侦听器,则该事件侦听器仍由当前操作触发。删除事件侦听器后,决不会再次调用该事件侦听器(除非再次注册以备将来处理)。

参数

type:String — 事件的类型。
 
listener:Function — 处理事件的侦听器函数。此函数必须接受 Event 对象作为其唯一的参数,并且不能返回任何结果,如下面的示例所示:
function(evt:Event):void

函数可以有任何名称。

 
useCapture:Boolean (default = false)确定侦听器是运行于捕获阶段还是运行于目标和冒泡阶段。如果将 useCapture 设置为 true,则侦听器只在捕获阶段处理事件,而不在目标或冒泡阶段处理事件。如果 useCapturefalse,则侦听器只在目标或冒泡阶段处理事件。要在所有三个阶段都侦听事件,请调用 addEventListener 两次:一次将 useCapture 设置为 true,一次将 useCapture 设置为 false
 
priority:int (default = 0.0) — 事件侦听器的优先级。优先级由一个带符号的 32 位整数指定。数字越大,优先级越高。优先级为 n 的所有侦听器会在优先级为 n -1 的侦听器之前得到处理。如果两个或更多个侦听器共享相同的优先级,则按照它们的添加顺序进行处理。默认优先级为 0。
 
useWeakReference:Boolean (default = false) — 确定对侦听器的引用是强引用,还是弱引用。强引用(默认值)可防止您的侦听器被当作垃圾回收。弱引用则没有此作用。

类级别成员函数不属于垃圾回收的对象,因此可以对类级别成员函数将 useWeakReference 设置为 true 而不会使它们受垃圾回收的影响。如果对作为嵌套内部函数的侦听器将 useWeakReference 设置为 true,则该函数将作为垃圾回收并且不再是永久函数。如果创建对该内部函数的引用(将该函数保存到另一个变量中),则该函数将不作为垃圾回收并仍将保持永久。

    analyze

()方法 
public function analyze(resourceName:String = null, responder:Responder = null):void

语言版本: ActionScript 3.0
运行时版本: AIR 1.0

收集有关数据库索引的统计信息,并将其存储在数据库中。查询优化程序(数据库引擎的一部分,用于确定执行每个语句的最有效方式)随后可以使用这些统计信息。在执行特定查询时,统计信息有助于查询优化程序针对要使用的索引做出更佳选择。

如果数据库定义了索引,但尚未调用 analyze() 方法,则运行时仍将使用这些索引执行语句。不过,在没有由 analyze() 方法生成的附加统计信息的情况下,运行时不能为特定查询选择最有效的索引。

当表的数据发生更改时(由于执行 INSERTUPDATEDELETE 语句),与该表相关联的索引也会更改。由 analyze() 生成的统计信息不会自动更新。因此,进行大量数据更改后,再次调用 analyze() 方法可能大有裨益。但是,再次调用 analyze() 所获得的益处将取决于多个因素,包括对表定义的索引数、表中已更改的行数和总行数之间的关系、表的索引数据有多大变化以及更改后的数据和更改前的数据之间的差异程度。

resourceName 参数表示是应该对所有附加的数据库的索引、特定数据库的索引,还是特定表的索引执行操作。

每次调用此方法时,均会清除以前创建的任何统计数据并为 resourceName 参数中指定的数据库或表(如果 resourceNamenull,则为所有连接的数据库中的所有表)重新创建统计数据。数据库连接处于打开状态时,可以随时调用此方法。analyze() 操作和其统计数据不包括在事务中;不过,当数据库具有当前事务时(inTransaction 属性为 true),最好不要调用 analyze()。这是因为 analyze() 调用不会考虑已在事务中执行但尚未提交的任何数据、表架构或索引更改,并且事务一旦提交,analyze() 数据将会过期。

要删除用 analyze() 方法创建的统计数据,请使用 deanalyze() 方法。

参数

resourceName:String (default = null) — 要分析其索引的数据库或表的名称。如果指定的资源是一个名称在所有附加的数据库中唯一的表,则只需指定表名称。不过,指定表名称时可以使用 [database-name].[table-name] 形式以避免表名称不唯一时造成混淆。如果 resourceName 参数为 null(默认值),则分析所有附加的数据库中的所有索引。
 
responder:Responder (default = null) — 一个对象,指定操作成功或失败时要调用的方法。在异步执行模式中,如果 responder 参数为 null,则执行完成时将调度 analyzeerror 事件。


事件
analyze:SQLEvent — 在操作成功完成时调度。
 
error:SQLErrorEvent — 在异步执行模式中操作失败时调度。

引发
IllegalOperationError — 在 SQLConnection 实例未连接到数据库(connected 属性为 false)的情况下调用此方法时。
 
SQLError — 如果该操作在同步执行模式中失败。

相关 API 元素

    attach

()方法 
public function attach(name:String, reference:Object = null, responder:Responder = null, encryptionKey:ByteArray = null):void

语言版本: ActionScript 3.0
运行时版本: AIR 1.0

将另一个数据库添加到 SQLConnection 实例中,并将新数据库命名为指定的名称。附加数据库允许在对此 SQLConnection 实例执行的 SQL 语句中使用该数据库。

如果已使用指定的名称附加数据库,则调用 attach() 会导致错误。不过,同一个数据库可以使用唯一的名称附加多次。单个 SQLConnection 实例只能附加 10 个数据库。

在使用可对主数据库(使用 open()openAsync() 连接的数据库)执行的 attach() 连接的数据库上可以执行任何 SQL 语句。SQL 语句可以访问附加到该语句的关联 SQLConnection 实例的任何数据库中的表,包括在单个语句中访问多个数据库中的表。运行时在解析语句中的表名称时,它将按照数据库的附加顺序搜索 SQLConnection 实例的数据库,从使用 open()openAsync() 方法连接的数据库开始搜索。在语句中使用该数据库名称(在 attach() 方法的 name 参数中指定)可以明确限定表名称。

要删除使用 attach() 方法附加的数据库,请使用 detach() 方法。在关闭 SQLConnection 实例(通过调用 close() 方法)时,会断开所有附加的数据库。

附加的数据库将使用与主数据库相同的执行模式(同步或异步),具体取决于主数据库是使用 open() 方法还是 openAsync() 方法连接。

参数

name:String — 用于识别新附加的数据库的名称。在使用 [database-name].[table-name] 格式时,此名称可在 SQL 语句中用于明确表示某个表属于指定的数据库。“main”和“temp”是保留名称,不得使用。
 
reference:Object (default = null) — 对要附加的数据库文件的引用(flash.filesystem.File 实例)。如果该引用所引用的文件不存在,则将根据为用于连接主数据库的 open()openAsync() 调用中的 openMode 参数指定的值,创建一个新数据库文件或引发错误。

如果该参数的值为 null,则将在内存中创建并附加一个数据库。

 
responder:Responder (default = null) — 一个对象,指定操作成功或失败时要调用的方法。在异步执行模式中,如果 responder 参数为 null,则执行完成时将调度 attacherror 事件。
 
encryptionKey:ByteArray (default = null) — 数据库文件的加密密钥。如果调用 attach() 来创建数据库,则对该数据库进行加密,并使用指定密钥作为数据库的加密密钥。如果通过该调用附加现有的加密数据库,则该值必须与数据库的加密密钥相匹配,否则会出错。如果所附加的数据库未加密(即为了创建未加密的数据库),则该值必须为 null(默认值)。

有效的加密密钥长度为 16 个字节。无法对内存中的数据库加密,因此 reference 参数的值为 null 时此参数必须为 null

附加加密数据库时,如果所提供的加密密钥与数据库的加密密钥不匹配,则会出现异常。在同步执行模式中将引发 SQLError 异常。在异步执行模式中将调度 SQLErrorEvent,并且该事件对象的 error 属性包含一个 SQLError 实例。在任何一种情况下,SQLError 对象的 errorID 属性都为 3138(“所打开的文件不是数据库文件”)。

从 AIR 1.5 开始提供 encryptionKey 参数。


事件
attach:SQLEvent — 在操作成功完成时调度。
 
error:SQLErrorEvent — 在异步执行模式中操作失败时调度。

引发
ArgumentError name 参数为空字符串 ("") 或 null
 
ArgumentError — 为 reference 参数指定的值不是 flash.filesystem.File 实例时
 
ArgumentError encryptionKey 参数不是 null,且其 length 不是 16 个字节时
 
ArgumentError reference 参数为 null,且 encryptionKey 参数不是 null
 
IllegalOperationError — SQLConnection 实例未连接到数据库(connected 属性为 false)时;或某个事务当前处于打开状态(inTransaction 属性为 true)时。
 
SQLError — 如果该操作在同步执行模式中失败。

相关 API 元素

    begin

()方法 
public function begin(option:String = null, responder:Responder = null):void

语言版本: ActionScript 3.0
运行时版本: AIR 1.0

开始一个事务,其中将对针对连接的一个或多个数据库执行的所有 SQL 语句进行分组。

默认情况下,每个 SQL 语句都是在其自己的事务内执行的,语句的执行成功或失败时,事务将结束。使用 begin() 方法创建事务将导致创建新的手动事务。从此时开始,针对 SQLConnection 实例执行的所有 SQL 语句都在该事务内发生,并可以分组提交(永久保存)或回滚(撤消)这些语句所执行的任何动作或修改。

要结束事务,请调用 commit()rollback() 方法,具体取决于是永久保存还是放弃由事务语句所做的更改。

忽略对 begin() 的嵌套调用。可通过调用 setSavepoint() 方法创建保存点,保存点类似于事务中的书签。然后可通过调用 releaseSavepoint()rollbackToSavepoint() 方法部分提交或回滚 SQL 语句。但是,如果通过调用 begin() 启动事务,则直到调用 commit() 方法才会将更改永久提交到数据库中。

如果当前有事务打开时数据库连接关闭,则 AIR 会自动将该事务回滚。(注意:对于 AIR 1.1 和早期版本,连接关闭时将自动提交一个打开事务。)

一个事务不限于在单个数据库中执行语句;事务可以包括对附加的不同数据库执行的语句。

参数

option:String (default = null) — 表示将由事务使用的锁定策略。此值可以是 SQLTransactionLockType 类中定义的常数之一:
  • SQLTransactionLockType.DEFERRED 表示在首次读取或写入操作之前不获取锁定。
  • SQLTransactionLockType.EXCLUSIVE 表示尽快获取锁定,且其他 SQLConnection 实例无法读取或写入该数据库。
  • SQLTransactionLockType.IMMEDIATE 表示尽快获取锁定,其他 SQLConnection 实例可以读取但不能写入该数据库。

默认值 (null) 等效于 SQLTransactionLockType.DEFERRED

 
responder:Responder (default = null) — 一个对象,指定操作成功或失败时要调用的方法。在异步执行模式中,如果 responder 参数为 null,则执行完成时将调度 beginerror 事件。


事件
begin:SQLEvent — 在操作完成时调度。
 
error:SQLErrorEvent — 在异步执行模式中操作失败时调度。

引发
IllegalOperationError — 在 SQLConnection 实例未连接到数据库(connected 属性为 false)的情况下调用此方法时。
 
ArgumentError — 如果指定的选项不是 SQLTransactionLockType 常数之一。
 
SQLError — 如果该操作在同步执行模式中失败。

相关 API 元素


示例  ( 如何使用本示例 )

下面的示例演示在事务中执行多个 SQL INSERT 语句。首先将一行添加到“employees”表中。然后检索此新插入行的主键,并使用该主键将一行添加到相关的“phoneNumbers”表中。
package
{
    import flash.data.SQLConnection;
    import flash.data.SQLResult;
    import flash.data.SQLStatement;
    import flash.display.Sprite;
    import flash.events.SQLErrorEvent;
    import flash.events.SQLEvent;
    import flash.filesystem.File;
    
    public class MultiInsertTransactionExample extends Sprite
    {
        private var conn:SQLConnection;
        private var insertEmployee:SQLStatement;
        private var insertPhoneNumber:SQLStatement;
        
        public function MultiInsertTransactionExample():void
        {
            // define where to find the database file
            var appStorage:File = File.applicationStorageDirectory;
            var dbFile:File = appStorage.resolvePath("ExampleDatabase.db");
            
            // open the database connection
            conn = new SQLConnection();
            conn.addEventListener(SQLErrorEvent.ERROR, errorHandler);
            conn.addEventListener(SQLEvent.OPEN, openHandler);
            conn.openAsync(dbFile);
        }
        
        // Called when the database is connected
        private function openHandler(event:SQLEvent):void
        {
            conn.removeEventListener(SQLEvent.OPEN, openHandler);
            
            // start a transaction
            conn.addEventListener(SQLEvent.BEGIN, beginHandler);
            conn.begin();
        }
        
        // Called when the transaction begins
        private function beginHandler(event:SQLEvent):void
        {
            conn.removeEventListener(SQLEvent.BEGIN, beginHandler);
            
            // create and execute the first SQL statement:
            // insert an employee record
            insertEmployee = new SQLStatement();
            insertEmployee.sqlConnection = conn;
            insertEmployee.text = 
                "INSERT INTO employees (lastName, firstName, email) " + 
                "VALUES (:lastName, :firstName, :email, :birthday)";
            insertEmployee.parameters[":lastName"] = "Smith";
            insertEmployee.parameters[":firstName"] = "Bob";
            insertEmployee.parameters[":email"] = "bsmith@example.com";
            insertEmployee.parameters[":birthday"] = new Date(1971, 8, 12);
            
            insertEmployee.addEventListener(SQLEvent.RESULT, insertEmployeeHandler);
            insertEmployee.addEventListener(SQLErrorEvent.ERROR, errorHandler);
            
            insertEmployee.execute();
        }
        
        // Called after the employee record is inserted
        private function insertEmployeeHandler(event:SQLEvent):void
        {
            insertEmployee.removeEventListener(SQLEvent.RESULT, insertEmployeeHandler);
            insertEmployee.removeEventListener(SQLErrorEvent.ERROR, errorHandler);
            
            // Get the employee id of the newly created employee row
            var result:SQLResult = insertEmployee.getResult();
            var employeeId:Number = result.lastInsertRowID;
            
            // Add a phone number to the related phoneNumbers table
            insertPhoneNumber = new SQLStatement();
            insertPhoneNumber.sqlConnection = conn;
            insertPhoneNumber.text =
                "INSERT INTO phoneNumbers (employeeId, type, number) " +
                "VALUES (:employeeId, :type, :number)";
            insertPhoneNumber.parameters[":employeeId"] = employeeId;
            insertPhoneNumber.parameters[":type"] = "Home";
            insertPhoneNumber.parameters[":number"] = "(555) 555-1234";
            
            insertPhoneNumber.addEventListener(SQLEvent.RESULT, insertPhoneNumberHandler);
            insertPhoneNumber.addEventListener(SQLErrorEvent.ERROR, errorHandler);
            
            insertPhoneNumber.execute();
        }
        
        // Called after the phone number record is inserted
        private function insertPhoneNumberHandler(event:SQLEvent):void
        {
            insertPhoneNumber.removeEventListener(SQLEvent.RESULT, insertPhoneNumberHandler);
            insertPhoneNumber.removeEventListener(SQLErrorEvent.ERROR, errorHandler);
            
            // No errors so far, so commit the transaction
            conn.addEventListener(SQLEvent.COMMIT, commitHandler);
            conn.commit();
        }
        
        // Called after the transaction is committed
        private function commitHandler(event:SQLEvent):void
        {
            conn.removeEventListener(SQLEvent.COMMIT, commitHandler);
            
            trace("Transaction complete");
        }
        
        // Called whenever an error occurs
        private function errorHandler(event:SQLErrorEvent):void
        {
            // If a transaction is happening, roll it back
            if (conn.inTransaction)
            {
                conn.addEventListener(SQLEvent.ROLLBACK, rollbackHandler);
                conn.rollback();
            }
            
            trace(event.error.message);
            trace(event.error.details);
        }
        
        // Called when the transaction is rolled back
        private function rollbackHandler(event:SQLEvent):void
        {
            conn.removeEventListener(SQLEvent.ROLLBACK, rollbackHandler);
            
            // add additional error handling, close the database, etc.
        }
    }
}

下面的示例将演示在事务中执行多个 SQL DELETE 语句。该事务用于删除员工记录。首先在“phoneNumbers”表中删除相关行。然后从“employee”表中删除该员工记录行。
package
{
    import flash.data.SQLConnection;
    import flash.data.SQLResult;
    import flash.data.SQLStatement;
    import flash.display.Sprite;
    import flash.events.SQLErrorEvent;
    import flash.events.SQLEvent;
    import flash.filesystem.File;
    
    public class MultiDeleteTransactionExample extends Sprite
    {
        private var conn:SQLConnection;
        private var deleteEmployee:SQLStatement;
        private var deletePhoneNumbers:SQLStatement;
        
        private var employeeIdToDelete:Number = 25;
        
        public function MultiDeleteTransactionExample():void
        {
            // define where to find the database file
            var appStorage:File = File.applicationStorageDirectory;
            var dbFile:File = appStorage.resolvePath("ExampleDatabase.db");
            
            // open the database connection
            conn = new SQLConnection();
            conn.addEventListener(SQLErrorEvent.ERROR, errorHandler);
            conn.addEventListener(SQLEvent.OPEN, openHandler);
            conn.openAsync(dbFile);
        }
        
        // Called when the database is connected
        private function openHandler(event:SQLEvent):void
        {
            conn.removeEventListener(SQLEvent.OPEN, openHandler);
            
            // start a transaction
            conn.addEventListener(SQLEvent.BEGIN, beginHandler);
            conn.begin();
        }
        
        // Called when the transaction begins
        private function beginHandler(event:SQLEvent):void
        {
            conn.removeEventListener(SQLEvent.BEGIN, beginHandler);
            
            // Create and execute the first SQL statement:
            // Delete an employee's phone number records
            deletePhoneNumbers = new SQLStatement();
            deletePhoneNumbers.sqlConnection = conn;
            deletePhoneNumbers.text =
                "DELETE FROM phoneNumbers " +
                "WHERE employeeId = :employeeId";
            deletePhoneNumbers.parameters[":employeeId"] = employeeIdToDelete;
            
            deletePhoneNumbers.addEventListener(SQLEvent.RESULT, deletePhoneNumbersHandler);
            deletePhoneNumbers.addEventListener(SQLErrorEvent.ERROR, errorHandler);
            
            deletePhoneNumbers.execute();
        }
        
        // Called after the phone number records are deleted
        private function deletePhoneNumbersHandler(event:SQLEvent):void
        {
            deletePhoneNumbers.removeEventListener(SQLEvent.RESULT, deletePhoneNumbersHandler);
            deletePhoneNumbers.removeEventListener(SQLErrorEvent.ERROR, errorHandler);
            
            deleteEmployee = new SQLStatement();
            deleteEmployee.sqlConnection = conn;
            deleteEmployee.text = 
                "DELETE FROM employees " + 
                "WHERE employeeId = :employeeId";
            deleteEmployee.parameters[":employeeId"] = employeeIdToDelete;
            
            deleteEmployee.addEventListener(SQLEvent.RESULT, deleteEmployeeHandler);
            deleteEmployee.addEventListener(SQLErrorEvent.ERROR, errorHandler);
            
            deleteEmployee.execute();
        }
        
        // Called after the employee record is deleted
        private function deleteEmployeeHandler(event:SQLEvent):void
        {
            deleteEmployee.removeEventListener(SQLEvent.RESULT, deleteEmployeeHandler);
            deleteEmployee.removeEventListener(SQLErrorEvent.ERROR, errorHandler);
            
            // No errors so far, so commit the transaction
            conn.addEventListener(SQLEvent.COMMIT, commitHandler);
            conn.commit();
        }
        
        // Called after the transaction is committed
        private function commitHandler(event:SQLEvent):void
        {
            conn.removeEventListener(SQLEvent.COMMIT, commitHandler);
            
            trace("Transaction complete");
        }
        
        // Called whenever an error occurs
        private function errorHandler(event:SQLErrorEvent):void
        {
            // If a transaction is happening, roll it back
            if (conn.inTransaction)
            {
                conn.addEventListener(SQLEvent.ROLLBACK, rollbackHandler);
                conn.rollback();
            }
            
            trace(event.error.message);
            trace(event.error.details);
        }
        
        // Called when the transaction is rolled back
        private function rollbackHandler(event:SQLEvent):void
        {
            conn.removeEventListener(SQLEvent.ROLLBACK, rollbackHandler);
            
            // add additional error handling, close the database, etc.
        }
    }
}

    cancel

()方法 
public function cancel(responder:Responder = null):void

语言版本: ActionScript 3.0
运行时版本: AIR 1.0

终止当前对连接到 SQLConnection 实例的数据库执行的所有 SQL 语句。此方法可用于停止长时间运行或失控的查询。

如果在调用 cancel() 方法时有些语句正在执行,则此方法会终止这些语句的操作,并回滚任何未完成的更新或事务。如果当前没有执行任何语句,则调用此方法会回滚已打开的事务,除此之外不执行任何操作。

参数

responder:Responder (default = null) — 一个对象,指定操作成功或失败时要调用的方法。在异步执行模式中,如果 responder 参数为 null,则执行完成时将调度 cancelerror 事件。


事件
cancel:SQLEvent — 在操作成功完成时调度。
 
error:SQLErrorEvent — 在异步执行模式中操作失败时调度。

引发
IllegalOperationError — 在 SQLConnection 实例未连接到数据库(connected 属性为 false)的情况下调用此方法时。
 
SQLError — 如果该操作在同步执行模式中失败。

相关 API 元素

    close

()方法 
public function close(responder:Responder = null):void

语言版本: ActionScript 3.0
运行时版本: AIR 1.0

断开当前数据库连接。还会断开所有附加的数据库。

如果调用 close() 时存在打开的事务,则该事务将回滚。在将 SQLConnection 实例当作垃圾回收时,运行时会自动调用 close(),这包括在 SQLConnection 仍然连接到数据库时 AIR 应用程序已关闭的情况。

参数

responder:Responder (default = null) — 一个对象,指定操作成功或失败时要调用的方法。在异步执行模式中,如果 responder 参数为 null,则执行完成时将调度 closeerror 事件。


事件
close:SQLEvent — 在操作成功完成时调度。
 
error:SQLErrorEvent — 在异步执行模式中操作失败时调度。

引发
SQLError — 如果该操作在同步执行模式中失败。

    commit

()方法 
public function commit(responder:Responder = null):void

语言版本: ActionScript 3.0
运行时版本: AIR 1.0

提交一个现有事务,从而导致将该事务的语句执行的任何动作永久应用于数据库。

中间保存点类似于事务中的书签,可通过调用 setSavepoint() 方法进行创建。使用保存点,您可以通过调用 releaseSavepoint() 方法提交部分事务,或通过调用 rollbackToSavepoint() 方法回滚部分事务。但是,如果事务是使用 begin() 方法打开的,则直到通过调用 commit() 方法提交整个事务才会将更改永久保存到数据库中。

对于使用保存点的事务,当提交整个事务时不会提交任何使用 rollbackToSavepoint() 方法回滚的语句。使用 releaseSavepoint() 提交的语句,或其保存点未释放或未回滚的语句,将提交到数据库中。

参数

responder:Responder (default = null) — 一个对象,指定操作成功或失败时要调用的方法。在异步执行模式中,如果 responder 参数为 null,则执行完成时将调度 commiterror 事件。


事件
commit:SQLEvent — 在操作成功完成时调度。
 
error:SQLErrorEvent — 在操作完成并出错时调度。

引发
IllegalOperationError — 在 SQLConnection 实例未连接到数据库(connected 属性为 false)的情况下调用该方法时;或如果当前未打开任何事务(inTransaction 属性为 false)。

相关 API 元素

    compact

()方法 
public function compact(responder:Responder = null):void

语言版本: ActionScript 3.0
运行时版本: AIR 1.0

回收数据库中所有未使用的空间。从数据库中删除某一对象(表、索引或触发器)时,该对象会留下空白空间。这会使数据库文件比实际需要的文件更大,但可以加速 INSERT 操作。随着时间的推移,INSERTDELETE 操作会使数据库文件结构出现碎块,从而降低数据库内容的磁盘访问速度。此方法可压缩数据库文件、消除空白页、调整表数据使其连续并清理数据库文件结构。

不能对附加的数据库文件执行 compact() 操作,只能对由 SQLConnection 实例打开的主(原始)数据库文件执行此操作。如果有活动的事务,则此操作将失败,此操作对内存中的数据库没有影响。

参数

responder:Responder (default = null) — 一个对象,指定操作成功或失败时要调用的方法。在异步执行模式中,如果 responder 参数为 null,则执行完成时将调度 compacterror 事件。


事件
compact:SQLEvent — 在操作成功完成时调度。
 
error:SQLErrorEvent — 在异步执行模式中操作失败时调度。

引发
IllegalOperationError — 如果在 SQLConnection 实例未连接到数据库(connected 属性为 false)的情况下调用该方法;或如果某一事务当前正在执行(inTransaction 属性为 true)。
 
SQLError — 如果该操作在同步执行模式中失败。

    deanalyze

()方法 
public function deanalyze(responder:Responder = null):void

语言版本: ActionScript 3.0
运行时版本: AIR 1.0

删除通过调用 analyze() 方法创建的所有统计信息。

由于由 analyze() 方法生成的统计信息占用数据库的空间,因此调用 deanalyze() 可以收回该空间,如在删除多个索引或表之后。

此操作不包括在活动事务中。

参数

responder:Responder (default = null) — 一个对象,指定操作成功或失败时要调用的方法。在异步执行模式中,如果 responder 参数为 null,则执行完成时将调度 deanalyzeerror 事件。


事件
deanalyze:SQLEvent — 在操作成功完成时调度。
 
error:SQLErrorEvent — 在异步执行模式中操作失败时调度。

引发
IllegalOperationError — 在 SQLConnection 实例未连接到数据库(connected 属性为 false)的情况下调用此方法时。
 
SQLError — 如果该操作在同步执行模式中失败。

相关 API 元素

    detach

()方法 
public function detach(name:String, responder:Responder = null):void

语言版本: ActionScript 3.0
运行时版本: AIR 1.0

断开另一个以前使用 attach() 方法连接到 SQLConnection 实例的数据库。可以使用不同名称多次附加同一个数据库,在断开一个连接时,其他连接保持不变。如果连接包含打开的事务(如果 inTransaction 属性为 true),则无法断开该数据库的连接。

参数

name:String — 要断开的数据库的给定名称.
 
responder:Responder (default = null) — 一个对象,指定操作成功或失败时要调用的方法。在异步执行模式中,如果 responder 参数为 null,则执行完成时将调度 detacherror 事件。


事件
detach:SQLEvent — 在操作成功完成时调度。
 
error:SQLErrorEvent — 在异步执行模式中操作失败时调度。

引发
ArgumentError — 如果 name 参数为 null 或包含空字符串 ("")。
 
IllegalOperationError — 如果在 SQLConnection 实例未连接到数据库(connected 属性为 false)的情况下调用此方法;或如果该 SQLConnection 实例具有一个打开的事务(inTransaction 属性为 true)。
 
SQLError — 如果该操作在同步执行模式中失败。

相关 API 元素

    getSchemaResult

()方法 
public function getSchemaResult():SQLSchemaResult

语言版本: ActionScript 3.0
运行时版本: AIR 1.0

提供对 loadSchema() 方法调用结果的访问。getSchemaResult() 方法的行为与先进先出结果队列相同。每次 loadSchema() 方法调用完成时(每次在异步执行模式中调度 schema 事件时),都会向队列中添加一个新 SQLSchemaResult 对象。每次调用 getSchemaResult() 方法时,即会返回最早的结果(最先添加到队列中的结果)并从队列中删除该结果。当队列中不再有对象时,getSchemaResult() 将返回 null

当数据库连接关闭时,此方法返回 null

返回
SQLSchemaResult

相关 API 元素

    loadSchema

()方法 
public function loadSchema(type:Class = null, name:String = null, database:String = "main", includeColumnSchema:Boolean = true, responder:Responder = null):void

语言版本: ActionScript 3.0
运行时版本: AIR 1.0

从连接的数据库或任何附加的数据库中加载架构信息。该架构表示数据库的表、列、索引和触发器的结构。

要访问已加载的架构,请使用 SQLConnection.getSchemaResult() 方法。

在异步执行模式中,如果操作成功,则调度 schema 事件;如果操作失败,则调度 error 事件。

typename 参数值的组合确定由 loadSchema() 方法生成的架构数据的类型和随后生成的 SQLSchemaResult 实例的属性值。下表列出了有效的 typename 对以及由此生成的架构数据:

type 参数name 参数检索以下对象的架构数据:
nullnull数据库中的所有对象(所有表、视图、触发器和索引)
SQLIndexSchemanull数据库中的所有索引
SQLIndexSchema有效的表名称对指定表定义的所有索引
SQLIndexSchema有效的索引名称指定的索引
SQLTableSchemanull数据库中的所有表
SQLTableSchema有效的表名称指定的表
SQLTriggerSchemanull数据库中的所有触发器
SQLTriggerSchema有效的表名称与指定表相关联的所有触发器
SQLTriggerSchema有效的视图名称与指定视图相关联的所有触发器
SQLTriggerSchema有效的触发器名称指定的触发器
SQLViewSchemanull数据库中的所有视图
SQLViewSchema有效的视图名称指定的视图

如果 typename 参数的组合不对应于指定的组合之一,则在异步执行模式中将调度 error 事件或在同步执行模式中引发异常。例如,如果 type 参数为 SQLViewSchemaname 参数为表的名称(而不是视图的名称),则将引发一个错误,表示数据库不包含具有指定名称且属于指定类型的对象。

如果数据库为空(不包含任何表、视图、触发器或索引),则调用 loadSchema() 方法将导致错误。

参数

type:Class (default = null) — 表示要加载的架构的类型。null 值(默认值)表示应该加载所有架构信息。为此参数指定非 null 值可缩小生成的架构范围,删除结果中可能不需要的信息,并使操作更有效。该值必须是以下类之一的类名称:
  • SQLIndexSchema
  • SQLTableSchema
  • SQLTriggerSchema
  • SQLViewSchema
 
name:String (default = null) — 表示加载哪个资源的架构。此值的使用方式取决于指定的 type 参数。通常,此值是数据库对象的名称,如表名称、索引或视图名称,等等。如果指定了值,则结果中只包括具有指定名称的数据库对象的架构信息。

如果指定的值无效,则调度 error 事件(或在同步执行模式中引发错误)。type 参数值必须对应于命名对象的类型,以便使该值有效,如方法描述中所述。

如果 name 参数为 null,则包括指定类型的所有架构。如果指定的值无效,则调度 error 事件。

 
database:String (default = "main") — 加载其架构的数据库的名称。如果指定的值无效,则调度 error 事件。
 
includeColumnSchema:Boolean (default = true) — 表示结果是否包括表和视图的列的架构信息。
 
responder:Responder (default = null) — 一个对象,指定操作成功或失败时要调用的方法。在异步执行模式中,如果 responder 参数为 null,则执行完成时将调度 schemaerror 事件。


事件
schema:SQLEvent — 在操作成功完成时调度。
 
error:SQLErrorEvent — 在操作完成并出错时调度。

引发
IllegalOperationError — 在 SQLConnection 实例未连接到数据库(connected 属性为 false)的情况下调用此方法时。
 
ArgumentError — 当指定的 type 参数值不是允许的类型之一时。
 
SQLError — 在使用同步执行模式时,如果为 name 或 database 参数提供的值无效。

相关 API 元素

    open

()方法 
public function open(reference:Object = null, openMode:String = "create", autoCompact:Boolean = false, pageSize:int = 1024, encryptionKey:ByteArray = null):void

语言版本: ActionScript 3.0
运行时版本: AIR 1.0

打开在文件系统指定位置处的数据库文件的同步连接,或者在该位置创建并打开新的数据库文件,或者创建并打开内存数据库。在使用此方法打开数据库时,用于创建和打开该数据库的操作,以及使用此 SQLConnection 实例执行的所有其他操作(包括语句执行和通过与此 SQLConnection 实例相关联的 SQLStatement 实例执行的其他操作)都是同步 执行的。要异步执行这些操作,请改用 openAsync() 方法打开数据库连接。

连接数据库后,请使用 SQLStatement 实例执行 SQL 命令。数据库级操作是使用 SQLConnection 实例执行的,如开始或结束事务、加载架构信息以及其他操作等。

系统会自动为使用 open() 方法连接的数据库分配数据库名称“main”。该名称可使用 [database-name].[table-name] 格式明确限定 SQL 语句中的表名称。

参数

reference:Object (default = null) — 打开的数据库文件的位置。此值必须为 flash.filesystem.File 实例。如果该参数的值为 null,则将在内存中创建并打开一个数据库。
 
openMode:String (default = "create") — 表示数据库的打开方式。此值可以是 SQLMode 类中定义的任何常数。默认值为 SQLMode.CREATE,表示如果在指定位置未找到数据库文件,则创建一个数据库文件。如果 openModeSQLMode.READ 且指定的文件不存在,则会发生错误。当 reference 参数为 null 时,将忽略此参数。
 
autoCompact:Boolean (default = false) — 表示是否自动回收数据库中未使用的空间。仅当创建新数据库文件或打开其中尚未创建表的数据库文件时,此参数才有效。默认情况下,由删除的数据所占用的空间保留在数据库文件中,需要时可重用。将此参数设置为 true 会导致数据库自动回收未使用的空间。这会对性能产生负面影响,因为每次向数据库中写入数据时都需要进行更多处理,并且随着时间的推移,还会导致数据库数据产生碎片。可以随时强制数据库回收数据库文件中未使用的空间,并使用 compact() 方法整理数据库文件碎片。

openMode 参数为 SQLMode.READ 时,将忽略此参数。

 
pageSize:int (default = 1024) — 表示数据库的页大小(以字节表示)。仅当创建新数据库文件或打开其中尚未创建表的数据库文件时,此参数才有效。该值必须是 2 的幂数,大于等于 512 且小于等于 32768。默认值为 1024 字节。此值只能在创建表之前设置。创建表之后,试图更改此值会导致错误。
 
encryptionKey:ByteArray (default = null) — 数据库文件的加密密钥。如果调用 open() 来创建数据库,则对该数据库进行加密,并使用指定密钥作为数据库的加密密钥。如果通过该调用打开加密数据库,则该值必须与数据库的加密密钥相匹配,否则会出错。如果所打开的数据库未加密(即为了创建未加密的数据库),则该值必须为 null(默认值),否则会出错。

有效的加密密钥长度为 16 个字节。无法对内存中的数据库加密,因此 reference 参数的值为 null 时此参数必须为 null

打开加密数据库时,如果所提供的加密密钥与数据库的加密密钥不匹配,将会引发 SQLError 异常。在这种情况下,SQLError 对象的 errorID 属性为 3138(“所打开的文件不是数据库文件”)。

从 AIR 1.5 开始提供 encryptionKey 参数。


事件
open:SQLEvent — 在操作成功完成时调度。

引发
IllegalOperationError — 当 SQLConnection 实例已经具有一个到数据库的打开连接时(connected 属性为 true)。
 
SQLError — 如果操作失败。操作失败后,连接不会保持打开。
 
ArgumentError — 为 reference 参数指定的值不是 flash.filesystem.File 实例时
 
ArgumentError encryptionKey 参数不是 null,且其 length 不是 16 个字节时
 
ArgumentError reference 参数为 null,且 encryptionKey 参数不是 null
 
ArgumentError — 如果指定了无效的 pageSize 参数。这包括在模式为 SQLMode.READ 时传递页的大小。

相关 API 元素

    openAsync

()方法 
public function openAsync(reference:Object = null, openMode:String = "create", responder:Responder = null, autoCompact:Boolean = false, pageSize:int = 1024, encryptionKey:ByteArray = null):void

语言版本: ActionScript 3.0
运行时版本: AIR 1.0

打开在文件系统指定位置处的数据库文件的异步连接,或者在该位置创建并打开新的数据库文件,或者创建并打开内存数据库。在使用此方法打开数据库时,用于创建和打开该数据库的操作,以及使用此 SQLConnection 实例执行的所有其他操作(包括语句执行和通过与此 SQLConnection 实例相关联的 SQLStatement 实例执行的其他操作)都是异步 执行的。要同步执行这些操作,请改用 open() 方法打开数据库连接。

连接数据库后,请使用 SQLStatement 实例执行 SQL 命令。数据库级操作是使用 SQLConnection 实例执行的,如开始或结束事务、加载架构信息以及其他操作等。

系统会自动为使用 openAsync() 方法连接的数据库分配数据库名称“main”;使用 [database-name].[table-name] 格式时,该名称可在 SQL 语句中用于明确限定表名称。

参数

reference:Object (default = null) — 打开的数据库文件的位置。此值必须为 flash.filesystem.File 实例。如果该参数的值为 null,则将在内存中创建并打开一个数据库。
 
openMode:String (default = "create") — 表示数据库的打开方式。此值可以是 SQLMode 类中定义的任何常数。默认值为 SQLMode.CREATE,表示如果在指定位置未找到数据库文件,则创建一个数据库文件。如果 openModeSQLMode.READ 且指定文件不存在,则调度 error 事件。当 reference 参数为 null 时,将忽略此参数。
 
responder:Responder (default = null) — 一个对象,指定操作成功或失败时要调用的方法。如果 responder 参数为 null,则执行完成时将调度 openerror 事件。
 
autoCompact:Boolean (default = false) — 表示是否自动回收数据库中未使用的空间。仅当创建新数据库文件或打开其中尚未创建表的数据库文件时,此参数才有效。默认情况下,由删除的数据所占用的空间保留在数据库文件中,需要时可重用。将此参数设置为 true 会导致数据库自动回收未使用的空间。这会对性能产生负面影响,因为每次向数据库中写入数据时都需要进行更多处理,并且随着时间的推移,还会导致数据库数据产生碎片。要强制数据库随时回收数据库文件中未使用的空间并整理数据库文件的碎片,请使用 compact() 方法。

openMode 参数为 SQLMode.READ 时,将忽略此参数。

 
pageSize:int (default = 1024) — 表示数据库的页大小(以字节表示)。仅当创建新数据库文件或打开其中尚未创建表的数据库文件时,此参数才有效。该值必须是 2 的幂数,大于等于 512 且小于等于 32768。默认值为 1024 字节。此值只能在创建表之前设置。创建表之后,试图更改此值会导致错误。
 
encryptionKey:ByteArray (default = null) — 数据库文件的加密密钥。如果调用 openAsync() 来创建数据库,则对该数据库进行加密,并使用指定密钥作为数据库的加密密钥。如果通过该调用打开加密数据库,则该值必须与数据库的加密密钥相匹配,否则会出错。如果所打开的数据库未加密,则该值必须为 null(默认值),否则会出错。

有效的加密密钥长度为 16 个字节。无法对内存中的数据库加密,因此 reference 参数的值为 null 时此参数必须为 null

打开加密数据库时,如果所提供的加密密钥与数据库的加密密钥不匹配,将调度 SQLErrorEvent。该事件对象的 error 属性包含一个 SQLError 实例。该 SQLError 对象的 errorID 属性为 3138(“所打开的文件不是数据库文件”)。

从 AIR 1.5 开始提供 encryptionKey 参数。


事件
open:SQLEvent — 在操作成功完成时调度。
 
error:SQLErrorEvent — 在操作失败时调度。操作失败后,连接不会保持打开。

引发
IllegalOperationError — 当 SQLConnection 实例已经具有一个到数据库的打开连接时(connected 属性为 true)。
 
ArgumentError — 为 reference 参数指定的值不是 flash.filesystem.File 实例时
 
ArgumentError encryptionKey 参数不是 null,且其 length 不是 16 个字节时
 
ArgumentError reference 参数为 null,且 encryptionKey 参数不是 null
 
ArgumentError — 如果指定了无效的 pageSize 参数。这包括在模式为 SQLMode.READ 时传递页的大小。

相关 API 元素

    reencrypt

()方法 
public function reencrypt(newEncryptionKey:ByteArray, responder:Responder = null):void

语言版本: ActionScript 3.0
运行时版本: AIR 1.5

更改加密数据库的加密密钥。此方法仅影响主数据库(使用 open()openAsync() 方法连接的数据库)的加密密钥。对创建时即加密的数据库只能调用 reencrypt()。将数据库创建为加密数据库后,就无法将其解密。同样,以后也无法对创建时未加密的数据库进行加密。

重新加密操作在其自身的事务中运行。如果重新加密的过程被中断,则数据库会将事务回滚,且不更改加密密钥。

参数

newEncryptionKey:ByteArray — 包含数据库的新加密密钥的 ByteArray。有效的加密密钥长度为 16 个字节。
 
responder:Responder (default = null) — 一个对象,指定操作成功或失败时要调用的方法。如果 responder 参数为 null,则执行完成时将调度 reencrypterror 事件。


事件
reencrypt:SQLEvent — 在操作成功完成时调度。
 
error:SQLErrorEvent — 在操作失败时调度。

引发
ArgumentError newEncryptionKey 值是 null,或其 length 不是 16 个字节时。
 
IllegalOperationError — 未打开连接时,或有打开的事务时。
 
SQLError — 如果该操作在同步执行模式中失败。

相关 API 元素

    releaseSavepoint

()方法 
public function releaseSavepoint(name:String = null, responder:Responder = null):void

语言版本: ActionScript 3.0
运行时版本: AIR 2

此方法提交自最新保存点或命名的保存点(如果名称已指定)起执行的所有 SQL 操作。

请注意,在提交整个事务之前,任何更改都不会永久保存到数据库。如果事务是使用 begin() 方法启动的,则必须调用 commit() 方法来提交整个事务。如果事务是在 inTransactionfalse 时通过调用 setSavepoint() 启动的,您可以通过调用 commit() 方法完成整个事务,也可以通过为事务的第一个保存点调用 releaseSavepoint()rollbackToSavepoint() 实现此目的。

如果代码调用 rollback() 方法,则不管在回滚事务之前是否调用了 releaseSavepoint(),它将永久放弃事务中的所有更改。

如果此方法在调用时没有使用参数(或 name 参数为 null),它会提交自最新未命名保存点(通过调用不带任何 name 参数的 setSavepoint() 创建的最新保存点)以后的所有数据库更改。例如,如果已三次调用 setSavepoint() 方法,则会设置三个保存点。此时调用 releaseSavepoint() 将提交自第三个(最新)保存点以后执行的 SQL 操作。

如果为 name 参数提供了值,此方法将提交自使用指定名称的保存点以后执行的所有 SQL 操作。如果其他保存点的创建时间比指定保存点更晚,还将提交在这些保存点之后执行的操作。

保存点释放或回滚后,将删除该保存点和任何更新的保存点。如果代码在 releaseSavepoint()rollbackToSavepoint() 调用删除保存点后执行其他 SQL 操作,则这些操作都属于最新的那个剩余保存点。(换言之,这些操作属于在删除的保存点之前最新创建的保存点。)如果没有剩余任何保存点,则这些操作属于主事务。

参数

name:String (default = null) — String,保存点的名称,应提交自该保存点后的所有 SQL 操作。如果没有提供任何值或此参数为 null(默认值),则使用最新的未命名保存点(通过调用不带 name 值的 setSavepoint() 进行创建)。name 值不能为空字符串 ("")。
 
responder:Responder (default = null) — Responder,指定操作成功或失败时调用的方法的对象。在异步执行模式中,如果 responder 参数为 null,则执行完成时将调度 releaseSavepointerror 事件。


事件
releaseSavepoint:SQLEvent — 在操作成功完成时调度。
 
error:SQLErrorEvent — 在异步执行模式中操作失败时调度。

引发
ArgumentError — 当 name 参数值为空字符串 ("") 时。
 
IllegalOperationError — 在 SQLConnection 实例未连接到数据库(connected 属性为 false)的情况下调用该方法时;或如果当前未打开任何事务(inTransaction 属性为 false)。
 
SQLError — 如果该操作在同步执行模式中失败。

相关 API 元素

    removeEventListener

()方法 
override public function removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void

语言版本: ActionScript 3.0
运行时版本: AIR 1.0

从 EventDispatcher 对象中删除侦听器。如果没有向 EventDispatcher 对象注册任何匹配的侦听器,则对此方法的调用没有任何效果。

参数

type:String — 事件的类型。
 
listener:Function — 要删除的侦听器对象。
 
useCapture:Boolean (default = false)指出是为捕获阶段还是为目标和冒泡阶段注册了侦听器。如果为捕获阶段以及目标和冒泡阶段注册了侦听器,则需要对 removeEventListener() 进行两次调用才能将这两个侦听器删除,一次调用将 useCapture() 设置为 true,另一次调用将 useCapture() 设置为 false

    rollback

()方法 
public function rollback(responder:Responder = null):void

语言版本: ActionScript 3.0
运行时版本: AIR 1.0

回滚使用 begin() 方法创建的现有事务,这意味着放弃事务中的任何 SQL 语句所做的所有更改。

可通过调用 setSavepoint() 方法在事务中标记中间保存点。使用保存点,您可以通过调用 releaseSavepoint() 方法提交部分事务,或者通过调用 rollbackToSavepoint() 方法回滚部分事务。但是,调用 rollback() 方法将永久放弃事务中的所有更改,而不管在回滚事务之前是否释放(提交)了各保存点。

参数

responder:Responder (default = null) — 一个对象,指定操作成功或失败时要调用的方法。在异步执行模式中,如果 responder 参数为 null,则执行完成时将调度 rollbackerror 事件。


事件
rollback:SQLEvent — 在操作成功完成时调度。
 
error:SQLErrorEvent — 在异步执行模式中操作失败时调度。

引发
IllegalOperationError — 在 SQLConnection 实例未连接到数据库(connected 属性为 false)的情况下调用该方法时;或如果当前未打开任何事务(inTransaction 属性为 false)。
 
SQLError — 如果该操作在同步执行模式中失败。

相关 API 元素

    rollbackToSavepoint

()方法 
public function rollbackToSavepoint(name:String = null, responder:Responder = null):void

语言版本: ActionScript 3.0
运行时版本: AIR 2

回滚自最新保存点或命名的保存点(如果名称已指定)起的所有 SQL 操作。

请注意,如果整个事务是通过调用 commit() 方法提交的,则事务中尚未使用 rollbackToSavepoint() 方法回滚的任何更改将永久保存在数据库中。此外,调用 rollback() 方法将永久放弃所有更改,而不管在回滚事务之前是否释放(提交)或回滚了各保存点。

如果此方法在调用时没有使用参数(或 name 参数为 null),它将回滚自最新的未命名保存点(对 setSavepoint() 最近一次不使用任何 name 参数值的调用)之后的所有数据库更改。

如果已为 name 参数提供了值,此方法将回滚自使用指定名称的保存点之后执行的所有 SQL 操作。如果其他保存点的创建时间比指定保存点更晚,还将回滚自这些保存点之后执行的操作。

保存点释放或回滚后,将删除该保存点和任何更新的保存点。如果代码在 releaseSavepoint()rollbackToSavepoint() 调用删除保存点后执行其他 SQL 操作,则这些操作都属于最新的那个剩余保存点。(换言之,这些操作属于在删除的保存点之前最新创建的保存点。)如果没有剩余任何保存点,则这些操作属于主事务。

参数

name:String (default = null) — String,数据库状态应该回滚到的保存点的名称。如果没有提供任何值或此参数为 null(默认值),则使用最新的未命名保存点(它是通过调用不带任何 name 值的 setSavepoint() 创建的)。name 值不能为空字符串 ("")。
 
responder:Responder (default = null) — Responder,指定操作成功或失败时调用的方法的对象。在异步执行模式中,如果 responder 参数为 null,则执行完成时将调度 rollbackToSavepointerror 事件。


事件
rollbackToSavepoint:SQLEvent — 在操作成功完成时调度。
 
error:SQLErrorEvent — 在异步执行模式中操作失败时调度。

引发
ArgumentError — 当 name 参数值为空字符串 ("") 时。
 
IllegalOperationError — 在 SQLConnection 实例未连接到数据库(connected 属性为 false)的情况下调用该方法时;或如果当前未打开任何事务(inTransaction 属性为 false)。
 
SQLError — 如果该操作在同步执行模式中失败。

相关 API 元素

    setSavepoint

()方法 
public function setSavepoint(name:String = null, responder:Responder = null):void

语言版本: ActionScript 3.0
运行时版本: AIR 2

创建保存点,保存点类似于数据库事务内的书签。保存点表示事务中的点。可以使用 releaseSavepoint()rollbackToSavepoint() 方法从其他操作单独提交或回滚在保存点之间执行的一组 SQL 操作。这样,您可以使用保存点将一组 SQL 操作视为嵌套事务。

当调用 setSavepoint() 方法时,如果尚未打开事务(通过调用 begin() 方法),调用此方法会开始事务并在事务的起始处创建保存点。如果已打开事务,调用 setSavepoint() 时将在事务中创建保存点。

请注意,在提交整个事务之前,任何更改都不会永久保存到数据库。如果事务是使用 begin() 方法启动的,则必须调用 commit() 方法来提交整个事务。如果事务是在 inTransactionfalse 时通过调用 setSavepoint() 启动的,您也可以通过调用 commit() 方法完成整个事务。如果针对启动事务的保存点调用 releaseSavepoint()rollbackToSavepoint(),事务也会自动完成。

可通过为 name 参数提供值来指定保存点的名称。这允许您回滚或提交自特定保存点以后进行的所有更改。如果没有指定任何名称(默认),则会创建未命名的保存点。

保存点释放或回滚后,将删除该保存点和任何更新的保存点。如果代码在 releaseSavepoint()rollbackToSavepoint() 调用删除保存点后执行其他 SQL 操作,则这些操作都属于最新的那个剩余保存点。(换言之,这些操作属于在删除的保存点之前最新创建的保存点。)如果没有剩余任何保存点,则这些操作属于主事务。

参数

name:String (default = null) — String,保存点的名称。如果未提供值或此参数为 null(默认值),则下一次调用 releaseSavepoint()rollbackToSavepoint() 且未指定 name 参数时,将提交或回滚自未命名保存点之后执行的 SQL 操作。

如果提供的名称与前面的命名保存点重复,下一次调用 SQLConnection.releaseSavepoint()SQLConnection.rollbackToSavepoint() 将提交或回滚自最新的使用该名称的保存点以后的更改。

name 值不能为空字符串 ("")。

 
responder:Responder (default = null) — Responder,指定操作成功或失败时调用的方法的对象。在异步执行模式中,如果 responder 参数为 null,则执行完成时将调度 setSavepointerror 事件。


事件
setSavepoint:SQLEvent — 在操作成功完成时调度。
 
error:SQLErrorEvent — 在异步执行模式中操作失败时调度。

引发
ArgumentError — 当 name 参数值为空字符串 ("") 时。
 
IllegalOperationError — 在 SQLConnection 实例未连接到数据库(connected 属性为 false)的情况下调用此方法时。
 
SQLError — 如果该操作在同步执行模式中失败。

相关 API 元素

事件详细信息
    

analyze

事件
事件对象类型: flash.events.SQLEvent
属性 SQLEvent.type = flash.events.SQLEvent.ANALYZE

语言版本: ActionScript 3.0
运行时版本: AIR 1.0

analyze() 操作成功完成时调度。

SQLEvent.ANALYZE 常量定义 analyze 事件对象的 type 属性值。在 SQLConnection.analyze() 方法调用成功完成时调度这种类型的事件。analyze 事件具有以下属性:
属性
bubblesfalse
cancelablefalse;没有要取消的默认行为。
currentTarget当前正在使用某个事件侦听器处理 Event 对象的对象。
target执行操作的 SQLConnection 对象。

相关 API 元素

    

attach

事件  
事件对象类型: flash.events.SQLEvent
属性 SQLEvent.type = flash.events.SQLEvent.ATTACH

语言版本: ActionScript 3.0
运行时版本: AIR 1.0

attach() 方法调用操作成功完成时调度。

SQLEvent.ATTACH 常量定义 attach 事件对象的 type 属性值。在 SQLConnection.attach() 方法调用成功完成时调度这种类型的事件。attach 事件具有以下属性:
属性
bubblesfalse
cancelablefalse;没有要取消的默认行为。
currentTarget当前正在使用某个事件侦听器处理 Event 对象的对象。
target执行操作的 SQLConnection 对象。

相关 API 元素

    

begin

事件  
事件对象类型: flash.events.SQLEvent
属性 SQLEvent.type = flash.events.SQLEvent.BEGIN

语言版本: ActionScript 3.0
运行时版本: AIR 1.0

begin() 方法调用操作成功完成时调度。

SQLEvent.BEGIN 常量定义 begin 事件对象的 type 属性值。在 SQLConnection.begin() 方法调用成功完成时调度这种类型的事件。begin 事件具有以下属性:
属性
bubblesfalse
cancelablefalse;没有要取消的默认行为。
currentTarget当前正在使用某个事件侦听器处理 Event 对象的对象。
target执行操作的 SQLConnection 对象。

相关 API 元素

    

cancel

事件  
事件对象类型: flash.events.SQLEvent
属性 SQLEvent.type = flash.events.SQLEvent.CANCEL

语言版本: ActionScript 3.0
运行时版本: AIR 1.0

cancel() 方法调用操作成功完成时调度。

SQLEvent.CANCEL 常量定义 cancel 事件对象的 type 属性值。在 SQLConnection.cancel() 方法调用成功完成时调度这种类型的事件。cancel 事件具有以下属性:
属性
bubblesfalse
cancelablefalse;没有要取消的默认行为。
currentTarget当前正在使用某个事件侦听器处理 Event 对象的对象。
target执行操作的 SQLConnection 或 SQLStatement 对象。

相关 API 元素

    

close

事件  
事件对象类型: flash.events.SQLEvent
属性 SQLEvent.type = flash.events.SQLEvent.CLOSE

语言版本: ActionScript 3.0
运行时版本: AIR 1.0

close() 方法调用操作成功完成时调度。

SQLEvent.CLOSE 常量定义 close 事件对象的 type 属性值。在 SQLConnection.close() 方法调用成功完成时调度这种类型的事件。close 事件具有以下属性:
属性
bubblesfalse
cancelablefalse;没有要取消的默认行为。
currentTarget当前正在使用某个事件侦听器处理 Event 对象的对象。
target执行操作的 SQLConnection 对象。

相关 API 元素

    

commit

事件  
事件对象类型: flash.events.SQLEvent
属性 SQLEvent.type = flash.events.SQLEvent.COMMIT

语言版本: ActionScript 3.0
运行时版本: AIR 1.0

commit() 方法调用操作成功完成时调度。

SQLEvent.COMMIT 常量定义 commit 事件对象的 type 属性值。在 SQLConnection.commit() 方法调用成功完成时调度这种类型的事件。commit 事件具有以下属性:
属性
bubblesfalse
cancelablefalse;没有要取消的默认行为。
currentTarget当前正在使用某个事件侦听器处理 Event 对象的对象。
target执行操作的 SQLConnection 对象。

相关 API 元素

    

compact

事件  
事件对象类型: flash.events.SQLEvent
属性 SQLEvent.type = flash.events.SQLEvent.COMPACT

语言版本: ActionScript 3.0
运行时版本: AIR 1.0

compact() 方法调用操作成功完成时调度。

SQLEvent.COMPACT 常量定义 compact 事件对象的 type 属性值。在 SQLConnection.compact() 方法调用成功完成时调度这种类型的事件。compact 事件具有以下属性:
属性
bubblesfalse
cancelablefalse;没有要取消的默认行为。
currentTarget当前正在使用某个事件侦听器处理 Event 对象的对象。
target执行操作的 SQLConnection 对象。

相关 API 元素

    

deanalyze

事件  
事件对象类型: flash.events.SQLEvent
属性 SQLEvent.type = flash.events.SQLEvent.DEANALYZE

语言版本: ActionScript 3.0
运行时版本: AIR 1.0

deanalyze() 方法调用操作成功完成时调度。

SQLEvent.DEANALYZE 常量定义 deanalyze 事件对象的 type 属性值。在 SQLConnection.deanalyze() 方法调用成功完成时调度这种类型的事件。deanalyze 事件具有以下属性:
属性
bubblesfalse
cancelablefalse;没有要取消的默认行为。
currentTarget当前正在使用某个事件侦听器处理 Event 对象的对象。
target执行操作的 SQLConnection 对象。

相关 API 元素

    

delete

事件  
事件对象类型: flash.events.SQLUpdateEvent
属性 SQLUpdateEvent.type = flash.events.SQLUpdateEvent.DELETE

语言版本: ActionScript 3.0
运行时版本: AIR 1.0

在任何连接的数据库的任何表中的数据由于 SQL DELETE 命令而发生更改时调度。数据更改可能是通过 SQLStatement 实例执行 DELETE 语句的直接结果,也可能是在响应语句执行时触发器触发所导致的间接结果。

SQLUpdateEvent.DELETE 常量定义 SQLConnection delete 事件的 type 属性值。delete 事件具有以下属性:
属性
bubblesfalse
cancelablefalse;没有要取消的默认行为。
currentTarget当前正在使用某个事件侦听器处理 Event 对象的对象。
rowID插入、删除或更新的行的唯一行标识符。
target对其执行操作的 SQLConnection 对象。
table发生更改的表的名称。

相关 API 元素

    

detach

事件  
事件对象类型: flash.events.SQLEvent
属性 SQLEvent.type = flash.events.SQLEvent.DETACH

语言版本: ActionScript 3.0
运行时版本: AIR 1.0

detach() 方法调用操作成功完成时调度。

SQLEvent.DETACH 常量定义 detach 事件对象的 type 属性值。在 SQLConnection.detach() 方法调用成功完成时调度这种类型的事件。
属性
bubblesfalse
cancelablefalse;没有要取消的默认行为。
currentTarget当前正在使用某个事件侦听器处理 Event 对象的对象。
target执行操作的 SQLConnection 对象。

相关 API 元素

    

error

事件  
事件对象类型: flash.events.SQLErrorEvent
属性 SQLErrorEvent.type = flash.events.SQLErrorEvent.ERROR

语言版本: ActionScript 3.0
运行时版本: AIR 1.0

任何 SQLConnection 对象的异步操作导致错误时调度。作为事件对象调度的 SQLErrorEvent 实例具有一个 error 属性,该属性包含有关尝试的操作和失败原因的信息。

SQLErrorEvent.ERROR 常量定义在 SQLConnection 方法调用或 SQLStatement 实例出错完成时调度的 error 事件的 type 属性值。error 事件具有以下属性:
属性
bubblesfalse
cancelablefalse;没有要取消的默认行为。
error一个 SQLError 对象,其中包含有关出现的错误的类型和导致该错误的操作的信息。
currentTarget当前正在使用某个事件侦听器处理 Event 对象的对象。
target报告错误的 SQLConnection 或 SQLStatement 对象。
    

insert

事件  
事件对象类型: flash.events.SQLUpdateEvent
属性 SQLUpdateEvent.type = flash.events.SQLUpdateEvent.INSERT

语言版本: ActionScript 3.0
运行时版本: AIR 1.0

在任何连接的数据库的任何表中的数据由于 SQL INSERT 命令而发生更改时调度。数据更改可能是通过 SQLStatement 实例执行 INSERT 语句的直接结果,也可能是在响应语句执行时触发器触发所导致的间接结果。

SQLUpdateEvent.INSERT 常量定义 insert 事件的 type 属性值。insert 事件具有以下属性:
属性
bubblesfalse
cancelablefalse;没有要取消的默认行为。
currentTarget当前正在使用某个事件侦听器处理 Event 对象的对象。
rowID插入、删除或更新的行的唯一行标识符。
target对其执行操作的 SQLConnection 对象。
table发生更改的表的名称。

相关 API 元素

    

open

事件  
事件对象类型: flash.events.SQLEvent
属性 SQLEvent.type = flash.events.SQLEvent.OPEN

语言版本: ActionScript 3.0
运行时版本: AIR 1.0

openAsync() 方法调用操作成功完成时调度。

SQLEvent.OPEN 常量定义 open 事件对象的 type 属性值。在 SQLConnection.open()SQLConnection.openAsync() 方法调用成功完成时调度这种类型的事件。open 事件具有以下属性:
属性
bubblesfalse
cancelablefalse;没有要取消的默认行为。
currentTarget当前正在使用某个事件侦听器处理 Event 对象的对象。
target执行操作的 SQLConnection 对象。

相关 API 元素

    

reencrypt

事件  
事件对象类型: flash.events.SQLEvent
属性 SQLEvent.type = flash.events.SQLEvent.REENCRYPT

语言版本: ActionScript 3.0
运行时版本: AIR 1.5

调用 reencrypt() 方法的操作成功完成时将调度此事件。

SQLEvent.REENCRYPT 常量定义 reencrypt 事件对象的 type 属性的值。SQLConnection.reencrypt() 方法调用成功完成时调度此类型的事件。reencrypt 事件具有以下属性:
属性
bubblesfalse
cancelablefalse;没有要取消的默认行为。
currentTarget当前正在使用某个事件侦听器处理 Event 对象的对象。
target执行操作的 SQLConnection 对象。

相关 API 元素

    

releaseSavepoint

事件  
事件对象类型: flash.events.SQLEvent
属性 SQLEvent.type = flash.events.SQLEvent.RELEASE_SAVEPOINT

语言版本: ActionScript 3.0
运行时版本: AIR 2

在成功完成 releaseSavepoint() 方法调用的操作时调度。

SQLEvent.RELEASE_SAVEPOINT 常量定义 releaseSavepoint 事件对象的 type 属性的值。当 SQLConnection.releaseSavepoint() 方法调用成功完成时调度此类型的事件。releaseSavepoint 事件包含下列属性:
属性
bubblesfalse
cancelablefalse;没有要取消的默认行为。
currentTarget当前正在使用某个事件侦听器处理 Event 对象的对象。
target执行操作的 SQLConnection 对象。

相关 API 元素

    

rollback

事件  
事件对象类型: flash.events.SQLEvent
属性 SQLEvent.type = flash.events.SQLEvent.ROLLBACK

语言版本: ActionScript 3.0
运行时版本: AIR 1.0

rollback() 方法调用操作成功完成时调度。

SQLEvent.ROLLBACK 常量定义 rollback 事件对象的 type 属性值。在 SQLConnection.rollback() 方法调用成功完成时调度这种类型的事件。rollback 事件具有以下属性:
属性
bubblesfalse
cancelablefalse;没有要取消的默认行为。
currentTarget当前正在使用某个事件侦听器处理 Event 对象的对象。
target执行操作的 SQLConnection 对象。

相关 API 元素

    

rollbackToSavepoint

事件  
事件对象类型: flash.events.SQLEvent
属性 SQLEvent.type = flash.events.SQLEvent.ROLLBACK_TO_SAVEPOINT

语言版本: ActionScript 3.0
运行时版本: AIR 2

在成功完成 rollbackToSavepoint() 方法调用的操作时调度。

SQLEvent.ROLLBACK_TO_SAVEPOINT 常量定义 rollbackToSavepoint 事件对象的 type 属性的值。当 SQLConnection.rollbackToSavepoint() 方法调用成功完成时调度此类型的事件。rollbackToSavepoint 事件包含下列属性:
属性
bubblesfalse
cancelablefalse;没有要取消的默认行为。
currentTarget当前正在使用某个事件侦听器处理 Event 对象的对象。
target执行操作的 SQLConnection 对象。

相关 API 元素

    

schema

事件  
事件对象类型: flash.events.SQLEvent
属性 SQLEvent.type = flash.events.SQLEvent.SCHEMA

语言版本: ActionScript 3.0
运行时版本: AIR 1.0

loadSchema() 方法调用操作成功完成并且架构结果准备就绪时调度。

SQLEvent.SCHEMA 常量定义 schema 事件对象的 type 属性值。在 SQLConnection.loadSchema() 方法成功完成时调度。调度 SQLEvent.SCHEMA 事件之后,即可调用 SQLConnection.getSchemaResult() 方法来获取架构信息。schema 事件具有以下属性:
属性
bubblesfalse
cancelablefalse;没有要取消的默认行为。
currentTarget当前正在使用某个事件侦听器处理 Event 对象的对象。
target执行操作的 SQLConnection 对象。

相关 API 元素

    

setSavepoint

事件  
事件对象类型: flash.events.SQLEvent
属性 SQLEvent.type = flash.events.SQLEvent.SET_SAVEPOINT

语言版本: ActionScript 3.0
运行时版本: AIR 2

在成功完成 setSavepoint() 方法调用的操作时调度。

SQLEvent.SET_SAVEPOINT 常量定义 setSavepoint 事件对象的 type 属性的值。当 SQLConnection.setSavepoint() 方法调用成功完成时调度此的类型事件。setSavepoint 事件包含下列属性:
属性
bubblesfalse
cancelablefalse;没有要取消的默认行为。
currentTarget当前正在使用某个事件侦听器处理 Event 对象的对象。
target执行操作的 SQLConnection 对象。

相关 API 元素

    

update

事件  
事件对象类型: flash.events.SQLUpdateEvent
属性 SQLUpdateEvent.type = flash.events.SQLUpdateEvent.UPDATE

语言版本: ActionScript 3.0
运行时版本: AIR 1.0

在任何连接的数据库的任何表中的数据由于 SQL UPDATE 命令而发生更改时调度。数据更改可能是通过 SQLStatement 实例执行 UPDATE 语句的直接结果,也可能是在响应语句执行时触发器触发所导致的间接结果。

SQLUpdateEvent.UPDATE 常量定义 SQLConnection update 事件的 type 属性值。

update 事件具有以下属性:

属性
bubblesfalse
cancelablefalse;没有要取消的默认行为。
currentTarget当前正在使用某个事件侦听器处理 Event 对象的对象。
rowID插入、删除或更新的行的唯一行标识符。
target对其执行操作的 SQLConnection 对象。
table发生更改的表的名称。

相关 API 元素





[ X ]为什么显示为英语?
《ActionScript 3.0 参考》中的内容以英语显示

《ActionScript 3.0 参考》中的部分内容未翻译成所有语言。当某个语言元素未翻译时,将显示为英语。例如,ga.controls.HelpBox 类未翻译成任何语言。因此在简体中文版的参考中,ga.controls.HelpBox 类显示为英语。