Pacote | flash.data |
Classe | public class SQLConnection |
Herança | SQLConnection EventDispatcher Object |
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0 |
A funcionalidade da classe SQLConnection tem várias categorias:
-
Um arquivo de banco de dados SQL local é criado ou aberto chamando o método
open()
ou a instância SQLConnection da propriedadesqlConnection
de SQLStatement. -
A classe SQLConnection também fornece o estado das instruções SQL, incluindo um mecanismo para a execução de várias instruções em uma transação. As transações são dirigidas usando os métodos
begin()
,commit()
erollback()
. Além disso, os métodossetSavepoint()
,releaseSavepoint()
erollbackToSavepoint()
permitem o código para definir e gerenciar savepoints. Estes são usados para subdividir transações em conjuntos de operações. -
A classe SQLConnection fornece acesso às informações sobre o esquema dos bancos de dados conectados. O esquema de um banco de dados descreve as definições de suas tabelas, colunas, índices e disparadores. Consulte o método
loadSchema()
para obter mais informações. -
A classe SQLConnection fornece a possibilidade de criptografar bancos de dados usando AES com CCM. Isso proporciona tanto a autenticação quanto a privacidade dos dados. Para criptografar um banco de dados, uma chave de 16 bytes (especificada usando ByteArray) deve ser especificada quando o banco de dados é criado. Essa chave pode ser alterada posteriormente usando o método
SQLConnection.reencrypt()
. A criptografia impõe uma penalização ao desempenho na gravação e na leitura do banco de dados. A criptografia é aplicada a dados armazenados no disco, mas não a um cache de dados temporário na memória. A criptografia não tem suporte para bancos de dados na memória. -
Uma ocorrência SQLConnection pode ser usada para receber notificações de eventos no nível do banco de dados e fornecer controle de configuração de todos os aspectos de um banco de dados, incluindo as opções de tamanho da página do cache, cancelamento de processos e execução de instruções.
Uma instância SQLConnection
opera em um dentre dois modos de execução distintos: assíncrono e síncrono. Para usar a execução sincrônica, use o método open()
para conectar ao banco de dados principal para a ocorrência SQLConnection. Para usar a execução assíncrona, use o método openAsync()
para conectar ao banco de dados principal para a ocorrência.
Ao usar a execução assíncrona, use os ouvintes de eventos ou uma ocorrência Responder para determinar quando uma operação é concluída ou apresenta falha. As operações são executadas em segundo plano, não no thread principal do aplicativo, de modo que o aplicativo continua a ser executado e a responder à interação do usuário, mesmo enquanto as operações do banco de dados estão sendo executadas. Cada instância assíncrona do SQLConnection realiza instruções do SQL no seu próprio thread.
No modo de execução assíncrono, você inicia uma operação específica chamando o método apropriado e pode detectar a conclusão (ou falha) da operação registrando um ouvinte para o evento apropriado. Cada operação tem um evento associado que é despachado quando a operação é concluída com êxito; por exemplo, quando uma chamada do método openAsync()
é concluída com êxito (quando a conexão do banco de dados é aberta), o evento open
é despachado. Quando qualquer operação falha, um evento error
é despachado. A ocorrência SQLError na propriedade error
do objeto SQLErrorEvent contém informações sobre o erro específico, incluindo a operação que foi tentada e o motivo da falha da operação.
Ao usar a execução sincrônica, você não precisa registrar ouvintes de eventos para determinar quando uma operação é concluída ou apresenta falha. Para identificar erros, inclua as instruções que lançam erros em um bloco try..catch
. Uma vez que as operações sincrônicas são executadas na cadeia de execução principal, todas as funcionalidades dos aplicativos (incluindo atualização da tela e permissão de interação do mouse e do teclado) são pausadas enquanto a operação ou as operações do banco de dados são executadas. Com as operações de longa execução, isso pode provocar uma pausa considerável no aplicativo.
Saiba mais
Quickstart: Trabalhando assincronamente com um banco de dados SQL local (Flash)
Quickstart: Trabalhandoo assincronamente com um banco de dados SQL local (HTML)
Quickstart: Trabalhando sincronicamente com um banco de dados SQL local (Flex)
Quickstart: Trabalhando sincronicamente com um banco de dados SQL local (Flash)
Quickstart: Trabalhando sincronicamente com um banco de dados SQL local (HTML)
Elementos da API relacionados
Propriedade | Definido por | ||
---|---|---|---|
autoCompact : Boolean [somente leitura]
Indica se a compactação automática foi ativada quando o banco de dados atual foi originalmente criado (o valor que foi especificado para o parâmetro autoCompact na chamada open() ou openAsync() que criou o banco de dados). | SQLConnection | ||
cacheSize : uint
Fornece acesso ao tamanho do cache dessa conexão, o qual representa o número máximo de páginas do disco do banco de dados que serão mantidas na memória por vez. | SQLConnection | ||
columnNameStyle : String
Indica como os nomes de colunas são reportados no resultado de uma instrução SELECT. | SQLConnection | ||
connected : Boolean [somente leitura]
Indica se a ocorrência SQLConnection tem uma conexão aberta com um arquivo do banco de dados. | SQLConnection | ||
constructor : Object
Uma referência ao objeto de classe ou à função de construtor de uma determinada ocorrência de objeto. | Object | ||
inTransaction : Boolean [somente leitura]
Indica se essa conexão está envolvida em uma transação no momento. | SQLConnection | ||
isSupported : Boolean [estático] [somente leitura]
Indica se a classe SQLConnection tem suporte na plataforma atual ou não. | SQLConnection | ||
lastInsertRowID : Number [somente leitura]
O identificador da última linha gerada criado por uma instrução SQL INSERT. | SQLConnection | ||
pageSize : uint [somente leitura]
Indica o tamanho da página do banco de dados (em bytes) que foi especificado quando o banco de dados foi originalmente criado (o valor que foi especificado para o parâmetro pageSize na chamada open() ou openAsync() que criou o banco de dados). | SQLConnection | ||
totalChanges : Number [somente leitura]
Contém o número total de alterações de dados que foram feitas desde que foi aberta a conexão com o banco de dados. | SQLConnection |
Método | Definido por | ||
---|---|---|---|
Cria uma ocorrência SQLConnection. | SQLConnection | ||
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0.0, useWeakReference:Boolean = false):void [substituir]
Registra um objeto de ouvinte de evento em um objeto EventDispatcher, de forma que o ouvinte receba a notificação de um evento. | SQLConnection | ||
Reúne estatísticas sobre os índices de banco de dados e as armazena no banco de dados. | SQLConnection | ||
attach(name:String, reference:Object = null, responder:Responder = null, encryptionKey:ByteArray = null):void
Adiciona outro banco de dados à ocorrência SQLConnection, dando ao novo banco de dados o nome especificado. | SQLConnection | ||
Inicia uma transação na qual estão agrupadas todas as instruções SQL executadas em relação ao(s) banco(s) de dados da conexão. | SQLConnection | ||
Aborta todas as instruções SQL que estão em execução no momento nos bancos de dados conectados à ocorrência SQLConnection. | SQLConnection | ||
Fecha a conexão atual do banco de dados. | SQLConnection | ||
Confirma uma transação existente fazendo com que qualquer ação executada pelas instruções da transação seja permanentemente aplicada ao banco de dados. | SQLConnection | ||
Requer todo o espaço não utilizado no banco de dados. | SQLConnection | ||
Remove todas as informações estatísticas criadas por uma chamada do método analyze(). | SQLConnection | ||
Desanexa um banco de dados adicional previamente anexado à ocorrência SQLConnection usando o método attach(). | SQLConnection | ||
Envia um evento para o fluxo de eventos. | EventDispatcher | ||
Fornece acesso ao resultado de uma chamada ao método loadSchema(). | SQLConnection | ||
Verifica se o objeto EventDispatcher tem ouvintes registrados para um tipo específico de evento. | EventDispatcher | ||
Indica se um objeto tem uma propriedade especificada definida. | Object | ||
Indica se uma ocorrência da classe Object está na cadeia de protótipos do objeto especificado como o parâmetro. | Object | ||
loadSchema(type:Class = null, name:String = null, database:String = "main", includeColumnSchema:Boolean = true, responder:Responder = null):void
Carrega as informações sobre o esquema do banco de dados conectado ou de qualquer banco de dados anexado. | SQLConnection | ||
open(reference:Object = null, openMode:String = "create", autoCompact:Boolean = false, pageSize:int = 1024, encryptionKey:ByteArray = null):void
Abre uma conexão sincrônica com o arquivo do banco de dados no local especificado no sistema de arquivos, ou cria e abre um novo arquivo de banco de dados no local, ou cria e abre um banco de dados na memória. | SQLConnection | ||
openAsync(reference:Object = null, openMode:String = "create", responder:Responder = null, autoCompact:Boolean = false, pageSize:int = 1024, encryptionKey:ByteArray = null):void
Abre uma conexão assíncrona com o arquivo do banco de dados no local especificado no sistema de arquivos, ou cria e abre um novo arquivo de banco de dados no local, ou cria e abre um banco de dados na memória. | SQLConnection | ||
Indica se a propriedade especificada existe e é enumerável. | Object | ||
Altera a chave de criptografia de um banco de dados criptografado. | SQLConnection | ||
Este método confirma as operações SQL feitas desde o savepoint mais recente ou o savepoint denominado se um nome for especificado. | SQLConnection | ||
[substituir]
Remove um ouvinte do objeto EventDispatcher. | SQLConnection | ||
Reverte uma transação existente criada com o uso do método begin(), significando que todas as alterações feitas por qualquer instrução SQL na transação são descartadas. | SQLConnection | ||
Reverte qualquer operação SQL desde o savepoint mais recente ou o savepoint denominado se um nome for especificado. | SQLConnection | ||
Define a disponibilidade de uma propriedade dinâmica para operações de repetição. | Object | ||
Cria um savepoint, que é como um marcador dentro de uma transação de banco de dados. | SQLConnection | ||
Retorna a representação da string deste objeto, formatado segundo as convenções específicas para a localidade. | Object | ||
Retorna a representação de string do objeto especificado. | Object | ||
Retorna o valor primitivo do objeto especificado. | Object | ||
Verifica se um ouvinte de evento está registrado nesse objeto EventDispatcher ou em qualquer um de seus ancestrais para o tipo de evento especificado. | EventDispatcher |
Evento | Resumo | Definido por | ||
---|---|---|---|---|
[transmissão de evento] Despachado quando o Flash Player ou o aplicativo do AIR ganha o foco do sistema operacional e está se tornando inativo. | EventDispatcher | |||
Despachado quando uma operação analyze() é concluída com êxito. | SQLConnection | |||
Despachado quando uma operação de chamada do método attach() é concluída com êxito. | SQLConnection | |||
Despachado quando uma operação de chamada do método begin() é concluída com êxito. | SQLConnection | |||
Despachado quando uma operação de chamada do método cancel() é concluída com êxito. | SQLConnection | |||
Despachado quando uma operação de chamada do método close() é concluída com êxito. | SQLConnection | |||
Despachado quando uma operação de chamada do método commit() é concluída com êxito. | SQLConnection | |||
Despachado quando uma operação de chamada do método compact() é concluída com êxito. | SQLConnection | |||
[transmissão de evento] Despachado quando o Flash Player ou o aplicativo do AIR perde o foco do sistema operacional e está se tornando inativo. | EventDispatcher | |||
Despachado quando uma operação de chamada do método deanalyze() é concluída com êxito. | SQLConnection | |||
Despachado quando os dados em qualquer tabela, em qualquer banco de dados conectado, são alterados como resultado de um comando SQL DELETE. | SQLConnection | |||
Despachado quando uma operação de chamada do método detach() é concluída com êxito. | SQLConnection | |||
Despachado quando qualquer operação assíncrona do objeto SQLConnection resulta em um erro. | SQLConnection | |||
Despachado quando os dados em qualquer tabela, em qualquer banco de dados conectado, são alterados como resultado de um comando SQL INSERT. | SQLConnection | |||
Despachado quando uma operação de chamada do método openAsync() é concluída com êxito. | SQLConnection | |||
Despachado quando uma operação de chamada do método reencrypt() é concluída com êxito. | SQLConnection | |||
Despachado quando uma operação de chamada do método releaseSavepoint() é concluída com êxito. | SQLConnection | |||
Despachado quando uma operação de chamada do método rollback() é concluída com êxito. | SQLConnection | |||
Despachado quando uma operação de chamada do método rollbackToSavepoint() é concluída com êxito. | SQLConnection | |||
Despachado quando uma operação de chamada do método loadSchema() é concluída com êxito e os resultados do esquema estão prontos. | SQLConnection | |||
Despachado quando uma operação de chamada do método setSavepoint() é concluída com êxito. | SQLConnection | |||
Despachado quando os dados em qualquer tabela, em qualquer banco de dados conectado, são alterados como resultado de um comando SQL UPDATE. | SQLConnection |
autoCompact | propriedade |
autoCompact:Boolean
[somente leitura] Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0 |
Indica se a compactação automática foi ativada quando o banco de dados atual foi originalmente criado (o valor que foi especificado para o parâmetro autoCompact
na chamada open()
ou openAsync()
que criou o banco de dados). Se essa propriedade for true
, o espaço não utilizado será removido automaticamente do arquivo do banco de dados após cada operação de gravação, mantendo o arquivo do banco de dados menor. Se a propriedade for false
, o espaço previamente ocupado pelos dados removidos será deixado no arquivo do banco de dados e reutilizado quando necessário. Mesmo quando autoCompact
for false
, é possível forçar o banco de dados a recuperar o espaço não utilizado chamando o método compact()
.
Se a propriedade connected
for false
, essa propriedade será definida como false
.
Implementação
public function get autoCompact():Boolean
Elementos da API relacionados
cacheSize | propriedade |
cacheSize:uint
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0 |
Fornece acesso ao tamanho do cache dessa conexão, o qual representa o número máximo de páginas do disco do banco de dados que serão mantidas na memória por vez. Cada página usa cerca de 1,5 KB de memória (dependendo do valor especificado para o parâmetro pageSize
da chamada do método open()
ou openAsync()
que criou o banco de dados). O tamanho do cache padrão é 2.000. Se um aplicativo estiver executando as operações UPDATE
ou DELETE
que alteram muitas linhas de um banco de dados, aumentar o tamanho do cache poderá melhorar a velocidade ao custo de um maior consumo de memória.
Implementação
public function get cacheSize():uint
public function set cacheSize(value:uint):void
Lança
IllegalOperationError — Quando é feita uma tentativa de definir essa propriedade enquanto a instância SQLConnection não está conectada a um banco de dados (a propriedade connected for false ); ou se uma transação estiver aberta no momento (a propriedade inTransaction for true ).
|
Elementos da API relacionados
columnNameStyle | propriedade |
columnNameStyle:String
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0 |
Indica como os nomes de colunas são reportados no resultado de uma instrução SELECT
.
As constantes definidas na classe SQLColumnNameStyle representam os valores possíveis para essa propriedade:
SQLColumnNameStyle.LONG
indica se o nomes de colunas são retornados no formato[table-name]_[column-name]
.SQLColumnNameStyle.SHORT
especifica se os nomes das colunas recebem o formato[column-name]
. Se existir várias colunas com o mesmo nome, somente uma propriedade com esse nome é adicionada ao objeto de resultado.SQLColumnNameStyle.DEFAULT
é valor padrão. Quando esse valor é usado, os nomes de coluna resultantes são formatados de acordo com o número de tabelas na instruçãoSELECT
que tenham nomes de colunas similares. Se a instruçãoSELECT
incluir só uma tabela, o formato de nome curto[column-name]
será usado e, se a instruçãoSELECT
incluir várias tabelas reunidas, sempre que houver uma colisão de nomeação pelo fato de dois nomes de colunas serem idênticos, o formato de nome longo[table-name]_[column-name]
será usado para as colunas com nomes idênticos.
Implementação
public function get columnNameStyle():String
public function set columnNameStyle(value:String):void
Lança
IllegalOperationError — Quando é feita uma tentativa de definir essa propriedade enquanto a ocorrência SQLConnection não está conectada ao banco de dados (a propriedade connected for false ).
|
Elementos da API relacionados
connected | propriedade |
inTransaction | propriedade |
isSupported | propriedade |
lastInsertRowID | propriedade |
lastInsertRowID:Number
[somente leitura] Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0 |
O identificador da última linha gerada criado por uma instrução SQL INSERT
. Um identificador de linha é usado para identificar exclusivamente uma linha em uma tabela no banco de dados. Geralmente, o valor é gerado pelo banco de dados.
O valor será zero se nenhum banco de dados estiver conectado ou se nenhuma instrução INSERT
tiver sido executada.
O identificador de linha para uma única execução de instrução SQL INSERT
pode ser obtido pela propriedade lastInsertRowID
do objeto SQLResult retornado pelo método getResult()
do objeto SQLStatement (quando chamado depois de a SQLStatement enviar o evento result
).
Para mais informações sobre chaves primárias e identificadores de linha gerados, consulte as seções "CREATE TABLE" e "Expressões" no apêndice "Suporte SQL em bancos de dados locais."
Implementação
public function get lastInsertRowID():Number
Elementos da API relacionados
pageSize | propriedade |
pageSize:uint
[somente leitura] Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0 |
Indica o tamanho da página do banco de dados (em bytes) que foi especificado quando o banco de dados foi originalmente criado (o valor que foi especificado para o parâmetro pageSize
na chamada open()
ou openAsync()
que criou o banco de dados).
Se a propriedade connected
for false
, o valor dessa propriedade será 0.
O tamanho da página para um banco de dados pode ser alterado (usando os métodos open()
ou openAsync()
) até que a primeira tabela seja criada no banco de dados.
Implementação
public function get pageSize():uint
Elementos da API relacionados
totalChanges | propriedade |
totalChanges:Number
[somente leitura] Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0 |
Contém o número total de alterações de dados que foram feitas desde que foi aberta a conexão com o banco de dados. Além de rastrear as alterações feitas pelas instruções INSERT
, DELETE
e UPDATE
, esse valor inclui as alterações provocadas por disparadores.
Quando a conexão do banco de dados é fechada, o valor é redefinido como 0. Quando a ocorrência SQLConnection não está conectada a um arquivo de banco de dados, o valor é 0.
Implementação
public function get totalChanges():Number
Elementos da API relacionados
SQLConnection | () | Construtor |
public function SQLConnection()
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0 |
Cria uma ocorrência SQLConnection.
Lança
SecurityError — se o construtor é chamado a partir de qualquer caixa de proteção externa da caixa de proteção do aplicativo principal.
|
addEventListener | () | método |
override public function addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0.0, useWeakReference:Boolean = false):void
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0 |
Registra um objeto de ouvinte de evento em um objeto EventDispatcher, de forma que o ouvinte receba a notificação de um evento. Você pode registrar ouvintes de eventos em todos os nós da lista de exibição de um tipo específico de evento, fase e prioridade.
Depois de registrar um ouvinte de evento com êxito, não será possível alterar a respectiva prioridade por meio de chamadas adicionais para o addEventListener()
. Para alterar a prioridade de um ouvinte, chame primeiramente o removeListener()
. Em seguida, você poderá registrar o ouvinte novamente com o novo nível de prioridade.
Tenha em mente que, após o ouvinte ser registrado, chamadas subsequentes para o addEventListener()
com um valor type
ou useCapture
diferente resultarão na criação de um registro de ouvinte separado. Por exemplo, se você primeiro registrar um ouvinte com o useCapture
definido como true
, ele escutará apenas durante a fase de captura. Se você chamar o addEventListener()
novamente, usando o mesmo objeto de ouvinte, mas com o useCapture
definido como false
, você terá dois ouvintes distintos: um que escuta durante a fase de captura e outro que escuta durante as fases de destino e de bubbling.
Você não pode registrar um ouvinte de evento apenas para a fase de destino ou a fase de bubbling. Essas fases são emparelhadas durante o registro porque o bubbling se aplica apenas aos ancestral do nó-alvo.
Se você não precisar mais de um ouvinte de evento, remova-o, chamando o removeEventListener()
; do contrário, poderão ocorrer problemas de memória. Os ouvintes de evento não são retirados automaticamente da memória porque o coletor de lixo não remove o ouvinte enquanto o objeto de despacho existe (a menos que o parâmetro useWeakReference
seja definido para true
).
Copiar uma ocorrência do EventDispatcher não copia os ouvintes de eventos a ele anexados. (Se o seu recém-criado nó precisar de um ouvinte de evento, anexe o ouvinte após criar o nó). Entretanto, se você mover uma ocorrência do EventDispatcher, os ouvintes de evento anexados se movimentarão com ele.
Se o ouvinte de evento estiver sendo registrado em um nó enquanto um evento estiver sendo processado nesse nó, o ouvinte de evento não será disparado durante a fase atual, mas poderá ser disparado durante uma fase posterior no fluxo de eventos, como a fase de bubbling.
Se um ouvinte de evento for removido de um nó enquanto um evento estiver sendo processado no nó, ele ainda será disparado pelas ações atuais. Depois de removido, o ouvinte de evento nunca mais é chamado novamente (a menos que registrado mais uma vez para processamento futuro).
Parâmetros
type:String — O tipo de evento.
| |
listener:Function — A função de ouvinte que processa o evento. Esta função deve aceitar um objeto Event como seu único parâmetro e não deve retornar nada, como mostra este exemplo:
function(evt:Event):void A função pode ter qualquer nome. | |
useCapture:Boolean (default = false ) —
Determina se o ouvinte trabalha na fase de captura ou nas fases de destino e bubbling. Se useCapture for definido como true , o ouvinte processará o evento apenas durante a fase de captura e não na fase de destino nem de bubbling. Se useCapture for false , o ouvinte processará o evento apenas durante a fase de destino ou de bubbling. Para ouvir o evento em todas as três fases, chame o addEventListener duas vezes, uma vez com o useCapture definido como true , e novamente, com o useCapture definido como false .
| |
priority:int (default = 0.0 ) — O nível de prioridade do ouvinte de evento. A prioridade é designada por um número inteiro de 32 bits sem sinal. Quanto mais alto o número, maior a prioridade. Todos os ouvintes com prioridade n são processados antes dos ouvintes com prioridade n-1. Se dois ou mais ouvintes compartilham a mesma prioridade, eles são processados pela ordem segundo a qual foram adicionados. A prioridade padrão é 0.
| |
useWeakReference:Boolean (default = false ) — Determina se a referência ao ouvinte é forte ou fraca. Uma referência forte (a padrão) impede que o ouvinte seja coletado como lixo. Uma referência fraca não impede. Funções de membro de nível de classe não estão sujeitas à coleta de lixo, portanto, você pode definir |
analyze | () | método |
public function analyze(resourceName:String = null, responder:Responder = null):void
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0 |
Reúne estatísticas sobre os índices de banco de dados e as armazena no banco de dados. Essas estatísticas podem, então, ser usadas pelo otimizador de consultas (a parcela do mecanismo do banco de dados que determina o modo mais eficiente de executar cada instrução). As estatísticas ajudam o otimizador de consultas a fazer escolhas melhores sobre que índice ou índices usar ao executar uma determinada consulta.
Se um banco de dados tiver índices definidos, mas o método analyze()
não tiver sido chamado, ainda assim o tempo de execução usará esses índices para executar instruções. No entanto, sem as informações estatísticas adicionais geradas pelo método analyze()
, o tempo de execução poderá não escolher o índice mais eficaz para uma determinada consulta.
Quando os dados de uma tabela são alterados (como resultado das instruções INSERT
, UPDATE
ou DELETE
), os índices associados a essa tabela também mudam. As informações estatísticas geradas pelo analyze()
não são automaticamente atualizadas. Consequentemente, após um grande número de alterações de dados, chamar o método analyze()
novamente pode ser vantajoso. Entretanto, o benefício obtido ao chamar analyze()
novamente depende de vários fatores, incluindo o número de índices definidos em uma tabela, a relação entre o número de linhas alteradas e o número total de linhas na tabela, o grau de variação existente nos dados indexados da tabela e o quanto os dados alterados são diferentes dos dados anteriores à alteração.
O parâmetro resourceName
indica se a operação deve ser executada nos índices de todos os bancos de dados anexados, em um banco de dados específico ou em uma tabela específica.
Toda vez que esse método é chamado, quaisquer dados estatísticos previamente criados são expurgados e recriados para o banco de dados ou a tabela especificados no parâmetro resourceName
(ou todas as tabelas em todos os bancos de dados conectados se resourceName
for null
). Esse método pode ser chamado a qualquer momento em que uma conexão com um banco de dados estiver aberta. A operação analyze()
e seus dados estatísticos não são incluídos em uma transação; no entanto, é melhor não chamar analyze()
quando o banco de dados tiver uma transação concorrente (a propriedade inTransaction
for verdadeira
). Isso porque quaisquer alterações nos dados, esquemas de tabelas ou índices que foram executadas na transação mas que ainda não foram confirmadas não são levadas em consideração pela chamada analyze()
, e os dados analyze()
estarão desatualizados assim que a transação estiver confirmada.
Para remover os dados estatísticos criados com o método analyze()
, use o método deanalyze()
.
Parâmetros
resourceName:String (default = null ) — O nome do banco de dados ou da tabela cujos índices devem ser analisados. Se o recurso especificado for uma tabela cujo nome é exclusivo entre todos os bancos de dados anexados, apenas o nome da tabela precisará ser especificado. No entanto, um nome de tabela poderá ser especificado na forma [database-name].[table-name] para evitar ambiguidade quando o nome da tabela não for exclusivo. se o parâmetro resourceName é null (o padrão), todos os índices em todos os bancos de dados anexados são analisados.
| |
responder:Responder (default = null ) — Um objeto que designa métodos a ser chamados quando a operação é bem-sucedida ou apresenta falha. No modo de execução assíncrono, se o argumento responder for null , um evento analyze ou error será despachado quando a execução for concluída.
|
Eventos
analyze: — Despachado quando a operação é concluída com êxito.
| |
error: — Despachado quando a operação falha no modo de execução assíncrona.
|
Lança
IllegalOperationError — Quando esse método é chamado enquanto a ocorrência SQLConnection não está conectada ao banco de dados (a propriedade connected for false ).
| |
SQLError — se a operação falhar no modo de execução sincrônica.
|
Elementos da API relacionados
attach | () | método |
public function attach(name:String, reference:Object = null, responder:Responder = null, encryptionKey:ByteArray = null):void
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0 |
Adiciona outro banco de dados à ocorrência SQLConnection, dando ao novo banco de dados o nome especificado. Anexar um banco de dados permite que o banco de dados seja usado em instruções SQL executadas contra essa ocorrência SQLConnection.
Se um banco de dados já está anexado usando o nome especificado, chamar attach()
resultará em um evento error. No entanto, o mesmo banco de dados pode ser anexado várias vezes usando nomes exclusivos. Só dez bancos de dados podem ser anexados a uma única ocorrência SQLConnection.
Qualquer instrução SQL pode ser executada em um banco de dados conectado usando attach()
que pode ser executado no banco de dados principal (o banco de dados conectado usando open()
ou openAsync()
). Uma instrução SQL pode acessar tabelas em qualquer um dos bancos de dados anexados à ocorrência SQLConnection associada da instrução, incluindo o acesso a tabelas de vários bancos de dados em uma única instrução. Quanto o tempo de execução está solucionando nomes de tabelas em uma instrução, ele pesquisa nos bancos de dados da ocorrência SQLConnection na ordem em que os bancos de dados foram anexados, iniciando pelo banco de dados que foi conectado usando o método open()
ou openAsync()
. Use o nome do banco de dados (conforme especificado no parâmetro name
do método attach()
) na instrução para qualificar explicitamente um nome de tabela.
Para remover um banco de dados anexado com a utilização do método attach()
, use o método detach()
. Quando a instância SQLConnection é fechada (chamando o método close()
), todos os bancos de dados anexados são desanexados.
O banco de dados anexado usa o mesmo modo de execução (síncrono ou assíncrono) que o banco de dados principal. A escolha depende do fato de o banco de dados principal ter sido conectado usando o método open()
ou o método openAsync()
.
Parâmetros
name:String — O nome que é usado para identificar o banco de dados recém-anexado. Esse nome pode ser usado nas instruções SQL para indicar explicitamente que uma tabela pertence ao banco de dados especificado, ao usar o formato [database-name].[table-name] . Os nomes "principal" e "temp" são reservados e não podem ser usados.
| |
reference:Object (default = null ) — Uma referência ao arquivo do banco de dados a ser anexado (uma ocorrência flash.filesystem.File). Se a referência está associada a um arquivo que não existe, é criado um arquivo do banco de dados ou é lançado um erro de acordo com o valor que foi especificado para o parâmetro openMode na chamada open() ou openAsync() que conectou o banco de dados principal.
Se o valor do parâmetro é | |
responder:Responder (default = null ) — Um objeto que designa métodos a ser chamados quando a operação é bem-sucedida ou apresenta falha. No modo de execução assíncrono, se o argumento responder for null , um evento attach ou error será despachado quando a execução for concluída.
| |
encryptionKey:ByteArray (default = null ) — A chave de criptografia do arquivo do banco de dados. Caso a chamada attach() crie um banco de dados, este é criptografado e a chave especificada é usada como a chave de criptografia do banco de dados. Caso a chamada anexe um banco de dados criptografado existente, o valor deve corresponder à chave de criptografia do banco de dados, ou ocorre um erro. Caso o banco de dados anexado não esteja criptografado, ou para criar um banco de dados não criptografado, o valor deve ser null (o padrão).
Uma chave de criptografia válida tem 16 bytes. Um banco de dados na memória não pode ser criptografado, logo, esse parâmetro deve ser Durante a anexação de um banco de dados criptografado, caso a chave de criptografia fornecida não corresponda à chave do banco de dados, ocorre uma exceção. No modo de execução síncrono, uma exceção de SQLError é lançada. No modo de execução assíncrono, SQLErrorEvent é despachado, e a propriedade O parâmetro |
Eventos
attach: — Despachado quando a operação é concluída com êxito.
| |
error: — Despachado quando a operação falha no modo de execução assíncrona.
|
Lança
ArgumentError — Quando o parâmetro name é uma string vazia ("" ) ou null
| |
ArgumentError — Quando o valor especificado para o parâmetro reference não for uma ocorrência flash.filesystem.File
| |
ArgumentError — Quando o argumento encryptionKey não é null e length não tem 16 bytes
| |
ArgumentError — Quando o parâmetro reference é null e o argumento encryptionKey não é null
| |
IllegalOperationError — Quando a ocorrência SQLConnection não estiver conectada a um banco de dados (a propriedade connected for false ); ou se uma transação estiver aberta no momento (a propriedade inTransaction for true ).
| |
SQLError — se a operação falhar no modo de execução sincrônica.
|
Elementos da API relacionados
begin | () | método |
public function begin(option:String = null, responder:Responder = null):void
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0 |
Inicia uma transação na qual estão agrupadas todas as instruções SQL executadas em relação ao(s) banco(s) de dados da conexão.
Por padrão, cada instrução SQL é executada em sua própria transação, e a transação termina quando a execução da instrução é concluída com êxito ou falha. A criação de uma transação usando o método begin()
faz com que uma nova transação manual seja criada. Desse ponto em diante, todas as instruções SQL executadas contra a ocorrência SQLConnection são realizadas na transação, e qualquer ação ou modificação executada pelas instruções pode ser confirmada (tornada permanente) ou revertida (desfeita) como um grupo.
Para finalizar uma transação, chame o método commit()
ou rollback()
, se as alterações feitas pelas instruções das transações devem ser permanentes ou descartadas.
Chamadas aninhadas para begin()
não são ignoradas. Você pode criar savepoints, que são como marcadores dentro de uma transação, chamando o método setSavepoint()
. Você então pode confirmar parcialmente ou reverter instruções SQL chamando os métodos releaseSavepoint()
ou rollbackToSavepoint()
. Contudo, se uma transação é iniciada chamando begin()
, as modificações não são cofirmadas permanentemente no banco de dados até que o método commit()
seja chamado.
Caso a conexão com o banco de dados seja fechada enquanto uma transação está aberta, o AIR reverte a transação automaticamente. (Observação: no AIR 1.1 e em versões anteriores, uma transação aberta é comprometida automaticamente quando uma conexão é fechada.)
Uma transação não está limitada a execuções de instruções em um único banco de dados; ela pode incluir instruções executadas em diferentes bancos de dados anexados.
Parâmetros
option:String (default = null ) — Indica a estratégia de bloqueio usada pela transação. O valor pode ser uma das constantes definidas na classe SQLTransactionLockType:
O valor padrão ( | |
responder:Responder (default = null ) — Um objeto que designa métodos a ser chamados quando a operação é bem-sucedida ou apresenta falha. No modo de execução assíncrono, se o argumento responder for null , um evento begin ou error será despachado quando a execução for concluída.
|
Eventos
begin: — Despachado quando a operação é concluída.
| |
error: — Despachado quando a operação falha no modo de execução assíncrona.
|
Lança
IllegalOperationError — Quando esse método é chamado enquanto a ocorrência SQLConnection não está conectada ao banco de dados (a propriedade connected for false ).
| |
ArgumentError — Se a opção especificada não for uma das constantes SQLTransactionLockType.
| |
SQLError — se a operação falhar no modo de execução sincrônica.
|
Elementos da API relacionados
rollback()
setSavepoint()
releaseSavepoint()
rollbackToSavepoint()
flash.data.SQLTransactionLockType
Exemplo ( Como usar este exemplo )
INSERT
dentro de uma transação. Primeiro uma linha é adicionada à tabela "funcionários". Depois a chave primária da linha recentemente inserida é recuperada e usada para adicionar uma linha à tabela "phoneNumbers relacionada.
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. } } }
DELETE
dentro de uma transação. A transação é usada para excluir um registro de funcionário. Primeiro as linhas relacionadas na tabela "phoneNumbers" são excluídas. Depois que a linha de registro do funcionário é excluído da tabela "funcionários".
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 | () | método |
public function cancel(responder:Responder = null):void
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0 |
Aborta todas as instruções SQL que estão em execução no momento nos bancos de dados conectados à ocorrência SQLConnection. Esse método pode ser usado para parar longas filas em execução ou de operações malsucedidas.
Se houver instruções em execução quando o método cancel()
for chamado, esse método abortará as operações das instruções e qualquer atualização ou transação incompleta será revertida. Se não houver instruções em execução no momento, chamar esse método reverte uma transação aberta mas, caso contrário, não terá efeito algum.
Parâmetros
responder:Responder (default = null ) — Um objeto que designa métodos a ser chamados quando a operação é bem-sucedida ou apresenta falha. No modo de execução assíncrono, se o argumento responder for null , um evento cancel ou error será despachado quando a execução for concluída.
|
Eventos
cancel: — Despachado quando a operação é concluída com êxito.
| |
error: — Despachado quando a operação falha no modo de execução assíncrona.
|
Lança
IllegalOperationError — Quando esse método é chamado enquanto a ocorrência SQLConnection não está conectada ao banco de dados (a propriedade connected for false ).
| |
SQLError — Se a operação falhar no modo de execução sincrônica.
|
Elementos da API relacionados
close | () | método |
public function close(responder:Responder = null):void
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0 |
Fecha a conexão atual do banco de dados. Qualquer banco de dados anexado também será desanexado.
Se houver uma transação aberta quanto close()
for chamado, a transação será desfeita. Quando uma instância SQLConnection for colocada na lixeira, o tempo de execução chamará close()
automaticamente, inclusive se um aplicativo AIR for fechado enquanto uma SQLConnection ainda estiver conectada a um banco de dados.
Parâmetros
responder:Responder (default = null ) — Um objeto que designa métodos a ser chamados quando a operação é bem-sucedida ou apresenta falha. No modo de execução assíncrono, se o argumento responder for null , um evento close ou error será despachado quando a execução for concluída.
|
Eventos
close: — Despachado quando a operação é concluída com êxito.
| |
error: — Despachado quando a operação falha no modo de execução assíncrona.
|
Lança
SQLError — Se a operação falhar no modo de execução sincrônica.
|
commit | () | método |
public function commit(responder:Responder = null):void
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0 |
Confirma uma transação existente fazendo com que qualquer ação executada pelas instruções da transação seja permanentemente aplicada ao banco de dados.
Os savepoints intermediários, que são como marcadores em uma transação, podem ser criados chamando o método setSavepoint()
. Utilizando savepoints você pode confirmar porções de uma transação chamando o método releaseSavepoint()
, ou reverter porções de uma transação chamando o método rollbackToSavepoint()
. Contudo, se uma transação é aberta usando o método begin()
, as modificações não são permanentemente salvas no banco de dados até que a transação inteira seja confirmada chamando o método commit()
.
Para uma transação que usa savepoints, qualquer instrução que foi revertida usando o método rollbackToSavepoint()
não é confirmada quando a transação inteira é confirmada. As instruções que foram confirmadas usando releaseSavepoint()
ou cujos savepoints não foram soltos ou revertidos são confirmadas no banco de dados.
Parâmetros
responder:Responder (default = null ) — Um objeto que designa métodos a ser chamados quando a operação é bem-sucedida ou apresenta falha. No modo de execução assíncrono, se o argumento responder for null , um evento commit ou error será despachado quando a execução for concluída.
|
Eventos
commit: — Despachado quando a operação é concluída com êxito.
| |
error: — Despachado quando a operação é concluída com uma falha.
|
Lança
IllegalOperationError — Quando o método for chamado enquanto a instância de SQLConnection não estiver conectada a um banco de dados (a propriedade connected for false ); ou se nenhuma transação estiver aberta no momento (a propriedade inTransaction for false ).
|
Elementos da API relacionados
compact | () | método |
public function compact(responder:Responder = null):void
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0 |
Requer todo o espaço não utilizado no banco de dados. Quando um objeto (tabela, índice ou disparador) é retirado do banco de dados, é deixado um espaço vazio. Isso torna o arquivo do banco de dados maior do que o necessário, mas pode acelerar as operações INSERT
. Com o tempo, as operações INSERT
e DELETE
podem deixar fragmentada a estrutura do arquivo do banco de dados, o que reduz a velocidade de acesso do disco ao conteúdo do banco de dados. Esse método compacta o arquivo do banco de dados, eliminando páginas vazias, alinhando os dados das tabelas para que fiquem contíguos e, de outra forma, limpando a estrutura do arquivo do banco de dados.
A operação compact()
não pode ser executada em um arquivo de banco de dados anexado; só pode ser executado no arquivo do banco de dados principal (original) aberto pela ocorrência SQLConnection. Essa operação falhará se houver uma transação ativa e não terá efeito em um banco de dados na memória.
Parâmetros
responder:Responder (default = null ) — Um objeto que designa métodos a ser chamados quando a operação é bem-sucedida ou apresenta falha. No modo de execução assíncrono, se o argumento responder for null , um evento compact ou error será despachado quando a execução for concluída.
|
Eventos
compact: — Despachado quando a operação é concluída com êxito.
| |
error: — Despachado quando a operação falha no modo de execução assíncrona.
|
Lança
IllegalOperationError — Se o método for chamado enquanto a instância SQLConnection não estiver conectada a um banco de dados (a propriedade connected for false ); ou se uma transação estiver em andamento no momento (a propriedade inTransaction for true ).
| |
SQLError — Se a operação falhar no modo de execução sincrônica.
|
deanalyze | () | método |
public function deanalyze(responder:Responder = null):void
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0 |
Remove todas as informações estatísticas criadas por uma chamada do método analyze()
.
Uma vez que as estatísticas geradas pelo método analyze()
ocupam espaço em um banco de dados, chamar deanalyze()
permite que você restitua esse espaço, como depois de eliminar vários índices ou tabelas.
Essa operação não está incluída em uma transação ativa.
Parâmetros
responder:Responder (default = null ) — Um objeto que designa métodos a ser chamados quando a operação é bem-sucedida ou apresenta falha. No modo de execução assíncrono, se o argumento responder for null , um evento deanalyze ou error será despachado quando a execução for concluída.
|
Eventos
deanalyze: — Despachado quando a operação é concluída com êxito.
| |
error: — Despachado quando a operação falha no modo de execução assíncrona.
|
Lança
IllegalOperationError — Quando esse método é chamado enquanto a ocorrência SQLConnection não está conectada ao banco de dados (a propriedade connected for false ).
| |
SQLError — Se a operação falhar no modo de execução sincrônica.
|
Elementos da API relacionados
detach | () | método |
public function detach(name:String, responder:Responder = null):void
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0 |
Desanexa um banco de dados adicional previamente anexado à ocorrência SQLConnection usando o método attach()
. É possível ter o mesmo arquivo de banco de dados anexado várias vezes usando nomes diferentes, e desanexar uma conexão a um arquivo deixará os outros intactos. Um banco de dados não poderá ser desanexado se a conexão tiver uma transação aberta (se a propriedade inTransaction
for true
).
Parâmetros
name:String — O nome especificado do banco de dados a ser desanexado.
| |
responder:Responder (default = null ) — Um objeto que designa métodos a ser chamados quando a operação é bem-sucedida ou apresenta falha. No modo de execução assíncrono, se o argumento responder for null , um evento detach ou error será despachado quando a execução for concluída.
|
Eventos
detach: — Despachado quando a operação é concluída com êxito.
| |
error: — Despachado quando a operação falha no modo de execução assíncrona.
|
Lança
ArgumentError — se o argumento name for null ou contiver uma string vazia ("" ).
| |
IllegalOperationError — Se esse método for chamado enquanto a instância SQLConnection não estiver conectada a um banco de dados (a propriedade connected for false ); ou se uma instância SQLConnection tiver uma transação aberta (a propriedade inTransaction for true ).
| |
SQLError — Se a operação falhar no modo de execução sincrônica.
|
Elementos da API relacionados
getSchemaResult | () | método |
public function getSchemaResult():SQLSchemaResult
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0 |
Fornece acesso ao resultado de uma chamada ao método loadSchema()
. O método getSchemaResult()
se comporta como uma fila de resultados do tipo o primeiro a entrar é o primeiro a sair. Toda vez que a chamada do método loadSchema()
é concluída (toda vez que o evento schema
é despachado no modo de execução assíncrono), um novo objeto SQLSchemaResult é adicionado à fila. Toda vez que o método getSchemaResult()
é chamado, o resultado mais antigo (aquele que foi adicionado à fila primeiro) é retornado e removido da fila. Quando não há mais objetos restantes na fila, getSchemaResult()
retorna null
.
Quando a conexão do banco de dados é fechada, o método retorna null
.
SQLSchemaResult |
Elementos da API relacionados
loadSchema | () | método |
public function loadSchema(type:Class = null, name:String = null, database:String = "main", includeColumnSchema:Boolean = true, responder:Responder = null):void
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0 |
Carrega as informações sobre o esquema do banco de dados conectado ou de qualquer banco de dados anexado. O esquema indica a estrutura das tabelas, colunas, índices e disparadores do banco de dados.
Para acessar o esquema carregado, use o método SQLConnection.getSchemaResult()
.
No modo de execução assíncrono, um evento schema
é despachado se a operação é bem-sucedida, ou um evento error
é despachado se a operação falha.
A combinação dos valores dos parâmetros type
e name
determina o tipo de dados de esquema que são gerados pelo método loadSchema()
e, consequentemente, os valores das propriedades da instância SQLSchemaResult que é gerada. A tabela a seguir lista os pares type
e name
válidos e os dados do esquema que são gerados como resultado:
argumento type | argumento name | Recupera os dados do esquema para: |
---|---|---|
null | null | todos os objetos no banco de dados (todas as tabelas, visualizações, disparadores e índices) |
SQLIndexSchema | null | todos os índices no banco de dados |
SQLIndexSchema | nome de tabela válido | todos os índices definidos na tabela especificada |
SQLIndexSchema | nome de índice válido | o índice especificado |
SQLTableSchema | null | todas as tabelas no banco de dados |
SQLTableSchema | nome de tabela válido | a tabela especificada |
SQLTriggerSchema | null | todos os disparadores no banco de dados |
SQLTriggerSchema | nome de tabela válido | todos os disparadores associados à tabela especificada |
SQLTriggerSchema | nome de visualização válido | todos os disparadores associados à visualização especificada |
SQLTriggerSchema | nome de disparador válido | o disparador especificado |
SQLViewSchema | null | todas as visualizações no banco de dados |
SQLViewSchema | nome de visualização válido | a visualização especificada |
Se a combinação dos argumentos type
e name
não corresponder a uma das combinações especificadas, um evento error
será despachado no modo de execução assíncrono ou uma exceção será lançada no modo de execução sincrônico. Por exemplo, se o argumento type
for SQLViewSchema
e o argumento name
for o nome de uma tabela (em vez de o nome de uma visualização), um erro será gerado indicando que o banco de dados não contém um objeto do tipo especificado com o nome especificado.
Caso o banco de dados esteja vazio (ele não contém nenhuma tabela, exibição, disparadores ou índices), chamar o método loadSchema()
resulta em um erro.
Parâmetros
type:Class (default = null ) — Indica o tipo de esquema a ser carregado. Um valor null (o padrão) indicar que todas as informações sobre o esquema deverão ser carregadas. Especificar um valor não null para esse parâmetro estreita o escopo do esquema resultante, removendo as informações potencialmente desnecessárias dos resultados e tornando a operação mais eficiente. O valor deve ser o nome de uma das seguintes classes:
| |
name:String (default = null ) — Indica que esquema do recurso foi carregado. Como esse valor é usado depende do argumento type especificado. Normalmente, esse é o nome de um objeto do banco de dados, como um nome de tabela, um nome de índice ou de visualização, etc. Se um valor for especificado, somente as informações sobre o esquema para o objeto do banco de dados com o nome especificado serão incluídas no resultado.
Se o valor especificado não for válido, um evento Se o argumento | |
database:String (default = "main ") — O nome do banco de dados cujo esquema foi carregado. Se o valor especificado não for válido, um evento error será despachado.
| |
includeColumnSchema:Boolean (default = true ) — Indica se o resultado deve incluir as informações sobre o esquema das colunas de tabelas e exibições.
| |
responder:Responder (default = null ) — Um objeto que designa métodos a ser chamados quando a operação é bem-sucedida ou apresenta falha. No modo de execução assíncrono, se o argumento responder for null , um evento schema ou error será despachado quando a execução for concluída.
|
Eventos
schema: — Despachado quando a operação é concluída com êxito.
| |
error: — Despachado quando a operação é concluída com uma falha.
|
Lança
IllegalOperationError — Quando o método é chamado enquanto a ocorrência SQLConnection não está conectada ao banco de dados (a propriedade connected for false ).
| |
ArgumentError — Quando o valor do argumento type não é um dos tipos permitidos.
| |
SQLError — Ao usar o modo de execução sincrônico, se um valor inválido for fornecido para os parâmetros do nome ou do banco de dados.
|
Elementos da API relacionados
open | () | método |
public function open(reference:Object = null, openMode:String = "create", autoCompact:Boolean = false, pageSize:int = 1024, encryptionKey:ByteArray = null):void
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0 |
Abre uma conexão sincrônica com o arquivo do banco de dados no local especificado no sistema de arquivos, ou cria e abre um novo arquivo de banco de dados no local, ou cria e abre um banco de dados na memória. As operações de criação e abertura do banco de dados, bem como todas as outras operações que são executadas usando essa ocorrência SQLConnection (incluindo a execução da instrução e outras operações executadas por uma ocorrência SQLStatement associada a essa ocorrência SQLConnection), são executadas sincronicamente quando o banco de dados é aberto usando esse método. Para executar operações assincronicamente, abra a conexão do banco de dados usando o método openAsync()
.
Uma vez que um banco de dados está conectado, use uma instância SQLStatement para executar comandos de SQL. As operações de nível do banco de dados, tais como começar ou concluir transações, carregar informações de esquema e outras operações são executadas usando a instância SQLConnection.
Um banco de dados que é conectado usando o método open()
recebe automaticamente o nome do banco de dados "principal"; esse nome pode ser usado para qualificar explicitamente nomes de tabelas nas instruções SQL que usam o formato [database-name].[table-name]
.
Parâmetros
reference:Object (default = null ) — O local do arquivo do banco de dados aberto. Esse valor deve ser uma ocorrência flash.filesystem.File. Se o valor do parâmetro é null , um banco de dados na memória é criado e aberto.
| |
openMode:String (default = "create ") — Indica como o banco de dados está aberto. O valor pode ser qualquer uma das constantes definidas na classe SQLMode. O valor padrão é SQLMode.CREATE , indicando que, se um arquivo de banco de dados não for encontrado no local especificado, um será criado. Se openMode for SQLMode.READ e o arquivo especificado não existir, ocorrerá um erro. Esse parâmetro é ignorado quando o parâmetro reference é null .
| |
autoCompact:Boolean (default = false ) — Indica se o espaço não utilizado no banco de dados deve ser recuperado automaticamente. Esse parâmetro só é valido ao criar um novo arquivo de banco de dados ou ao abrir um arquivo de banco de dados no qual nenhuma tabela tenha sido criada. Por padrão, o espaço ocupado por dados removidos é deixado no arquivo do banco de dados e reutilizado quando necessário. Definir esse parâmetro como true faz com que o banco de dados recupere automaticamente o espaço não utilizado. Isso pode afetar negativamente o desempenho pois requer um processamento adicional toda vez que os dados são gravados no banco de dados e também pode fazer com que o banco de dados se torne fragmentado com o passar do tempo. Em qualquer momento você pode forçar o banco de dados a reclamar o espaço não usado em um arquivo de banco de dados e desfragmentar o arquivo de banco de dados usando o método compact() .
Esse parâmetro é ignorado quando o parâmetro | |
pageSize:int (default = 1024 ) — Indica o tamanho da página (em bytes) do banco de dados. Esse parâmetro só é valido ao criar um novo arquivo de banco de dados ou ao abrir um arquivo de banco de dados no qual nenhuma tabela tenha sido criada. O valor deve ser uma potência de dois maior ou igual a 512 e menor ou igual a 32.768. O valor padrão é 1.024 bytes. O valor pode ser definido somente antes da criação de tabelas. Depois de criadas as tabelas, a tentativa de alterar esse valor resultará em erro.
| |
encryptionKey:ByteArray (default = null ) — A chave de criptografia do arquivo do banco de dados. Caso a chamada open() crie um banco de dados, este é criptografado e a chave especificada é usada como a chave de criptografia do banco de dados. Caso a chamada abra um banco de dados criptografado, o valor deve corresponder à chave de criptografia do banco de dados, ou ocorre um erro. Caso o banco de dados aberto não esteja criptografado, ou para criar um banco de dados não criptografado, o valor deve ser null (o padrão), ou ocorre um erro.
Uma chave de criptografia válida tem 16 bytes. Um banco de dados na memória não pode ser criptografado, logo, esse parâmetro deve ser Durante a abertura de um banco de dados criptografado, caso a chave de criptografia fornecida não corresponda à chave do banco de dados, uma exceção SQLError é lançada. Em ambos os casos, a propriedade O parâmetro |
Eventos
open: — Despachado quando a operação é concluída com êxito.
|
Lança
IllegalOperationError — Quando a ocorrência SQLConnection já tiver uma conexão aberta com um banco de dados (a propriedade connected for true ).
| |
SQLError — Se a operação falhar. A conexão nunca é deixada aberta após falha de uma operação.
| |
ArgumentError — Quando o valor especificado para o parâmetro reference não for uma ocorrência flash.filesystem.File
| |
ArgumentError — Quando o argumento encryptionKey não é null e length não tem 16 bytes
| |
ArgumentError — Quando o parâmetro reference é null e o argumento encryptionKey não é null
| |
ArgumentError — Se um parâmetro pageSize inválido for especificado. Isso inclui passar um tamanho de página quando o modo for SQLMode.READ .
|
Elementos da API relacionados
openAsync | () | método |
public function openAsync(reference:Object = null, openMode:String = "create", responder:Responder = null, autoCompact:Boolean = false, pageSize:int = 1024, encryptionKey:ByteArray = null):void
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0 |
Abre uma conexão assíncrona com o arquivo do banco de dados no local especificado no sistema de arquivos, ou cria e abre um novo arquivo de banco de dados no local, ou cria e abre um banco de dados na memória. As operações de criação e abertura do banco de dados, bem como todas as outras operações que são executadas usando essa ocorrência SQLConnection (incluindo a execução da instrução e outras operações executadas por uma ocorrência SQLStatement associada a essa ocorrência SQLConnection), são executadas assincronicamente quando o banco de dados é aberto usando esse método. Para executar operações sincronicamente, abra a conexão do banco de dados usando o método open()
.
Uma vez que um banco de dados está conectado, use uma instância SQLStatement para executar comandos de SQL. As operações de nível do banco de dados, tais como começar ou concluir transações, carregar informações de esquema e outras operações são executadas usando a instância SQLConnection.
Um banco de dados que é conectado usando o método openAsync()
recebe automaticamente o nome do banco de dados "principal"; esse nome pode ser usado para qualificar explicitamente nomes de tabelas nas instruções SQL que usam o formato [database-name].[table-name]
.
Parâmetros
reference:Object (default = null ) — O local do arquivo do banco de dados aberto. Esse valor deve ser uma ocorrência flash.filesystem.File. Se o valor do parâmetro é null , um banco de dados na memória é criado e aberto.
| |
openMode:String (default = "create ") — Indica como o banco de dados está aberto. O valor pode ser qualquer uma das constantes definidas na classe SQLMode. O valor padrão é SQLMode.CREATE , indicando que, se um arquivo de banco de dados não for encontrado no local especificado, um será criado. Se openMode for SQLMode.READ e o arquivo especificado não existir, um evento error será despachado. Esse parâmetro é ignorado quando o parâmetro reference é null .
| |
responder:Responder (default = null ) — Um objeto que designa métodos a ser chamados quando a operação é bem-sucedida ou apresenta falha. Se o argumento responder for null , um evento open ou error será despachado quando a execução for concluída.
| |
autoCompact:Boolean (default = false ) — Indica se o espaço não utilizado no banco de dados deve ser recuperado automaticamente. Esse parâmetro só é valido ao criar um novo arquivo de banco de dados ou ao abrir um arquivo de banco de dados no qual nenhuma tabela tenha sido criada. Por padrão, o espaço ocupado por dados removidos é deixado no arquivo do banco de dados e reutilizado quando necessário. Definir esse parâmetro como true faz com que o banco de dados recupere automaticamente o espaço não utilizado. Isso pode afetar negativamente o desempenho pois requer um processamento adicional toda vez que os dados são gravados no banco de dados e também pode fazer com que o banco de dados se torne fragmentado com o passar do tempo. Para forçar que o banco de dados recupere o espaço não utilizado em um arquivo de banco de dados a qualquer momento e para desfragmentar o arquivo do banco de dados, use o método compact() .
Esse parâmetro é ignorado quando o parâmetro | |
pageSize:int (default = 1024 ) — Indica o tamanho da página (em bytes) do banco de dados. Esse parâmetro só é valido ao criar um novo arquivo de banco de dados ou ao abrir um arquivo de banco de dados no qual nenhuma tabela tenha sido criada. O valor deve ser uma potência de dois maior ou igual a 512 e menor ou igual a 32.768. O valor padrão é 1.024 bytes. O valor pode ser definido somente antes da criação de tabelas. Depois de criadas as tabelas, a tentativa de alterar esse valor resultará em erro.
| |
encryptionKey:ByteArray (default = null ) — A chave de criptografia do arquivo do banco de dados. Caso a chamada openAsync() crie um banco de dados, este é criptografado e a chave especificada é usada como a chave de criptografia do banco de dados. Caso a chamada abra um banco de dados criptografado, o valor deve corresponder à chave de criptografia do banco de dados, ou ocorre um erro. Caso o banco de dados aberto não esteja criptografado, o valor deve ser null (o padrão), ou ocorre um erro.
Uma chave de criptografia válida tem 16 bytes. Um banco de dados na memória não pode ser criptografado, logo, esse parâmetro deve ser Durante a abertura de um banco de dados criptografado, caso a chave de criptografia fornecida não corresponda à chave do banco de dados, SQLErrorEvent é despachado. A propriedade O parâmetro |
Eventos
open: — Despachado quando a operação é concluída com êxito.
| |
error: — Despachado quando a operação falha. A conexão nunca é deixada aberta após falha de uma operação.
|
Lança
IllegalOperationError — Quando a ocorrência SQLConnection já tiver uma conexão aberta com um banco de dados (a propriedade connected for true ).
| |
ArgumentError — Quando o valor especificado para o parâmetro reference não for uma ocorrência flash.filesystem.File
| |
ArgumentError — Quando o argumento encryptionKey não é null e length não tem 16 bytes
| |
ArgumentError — Quando o parâmetro reference é null e o argumento encryptionKey não é null
| |
ArgumentError — Se um parâmetro pageSize inválido for especificado. Isso inclui passar um tamanho de página quando o modo for SQLMode.READ .
|
Elementos da API relacionados
reencrypt | () | método |
public function reencrypt(newEncryptionKey:ByteArray, responder:Responder = null):void
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.5 |
Altera a chave de criptografia de um banco de dados criptografado. Esse método só afeta a chave de criptografia do banco de dados principal (o banco de dados conectado usando o método open()
ou openAsync()
). Você só pode chamar reencrypt()
em um banco de dados criptografado quando criado. Depois que um banco de dados é criado como um banco de dados criptografado, ele não pode ser descriptografado. Da mesma forma, um banco de dados criado sem criptografia não pode ser criptografado posteriormente.
A operação de nova criptografia é executada na própria transação. Caso o processo de nova criptografia seja interrompido, o banco de dados reverte a transação e a chave de criptografia não é alterada.
Parâmetros
newEncryptionKey:ByteArray — ByteArray que contém a nova chave de criptografia do banco de dados. Uma chave de criptografia válida tem 16 bytes.
| |
responder:Responder (default = null ) — Um objeto que designa métodos a ser chamados quando a operação é bem-sucedida ou apresenta falha. Se o argumento responder for null , um evento reencrypt ou error será despachado quando a execução for concluída.
|
Eventos
reencrypt: — Despachado quando a operação é concluída com êxito.
| |
error: — Despachado quando a operação falha.
|
Lança
ArgumentError — Quando o valor newEncryptionKey não é null e length não tem 16 bytes.
| |
IllegalOperationError — Quando a conexão não está aberta, ou caso haja uma transação aberta.
| |
SQLError — Se a operação falhar no modo de execução sincrônica.
|
Elementos da API relacionados
releaseSavepoint | () | método |
public function releaseSavepoint(name:String = null, responder:Responder = null):void
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 2 |
Este método confirma as operações SQL feitas desde o savepoint mais recente ou o savepoint denominado se um nome for especificado.
Observe que até que a transação inteira seja confirmada, qualquer modificação não será salva permanentemente no banco de dados. Se a transação é iniciada usando o métodobegin()
, você deve chamar o método commit()
para confirmar a transação inteira. Se a transação é iniciada chamando setSavepoint()
enquanto inTransaction
é false
, você pode concluir a transação inteira chamando o método commit()
ou chamando releaseSavepoint()
ou rollbackToSavepoint()
para o primeiro savepoint da transação.
Se o código chama o método rollback()
, ele descarta permanentemente todas as modificações na transação, mesmo que releaseSavepoint()
seja chamado antes que a transação seja revertida.
Se este método é chamado sem parâmetros (ou com null
para o parâmetroname
), ele confirma todas as modificações de banco de dados desde o savepoint não denominado mais recente (o savepoint mais recente criado chamando setSavepoint()
sem parâmetro name
). Por exemplo, se o método setSavepoint()
foi invocado três vezes, três savepoints serão estabelecidos. Chamar releaseSavepoint()
nesse ponto confirma as operações SQL executadas desde o terceiro (mais novo) savepoint.
Se um valor é fornecido para o parâmetro name
, este método confirma todas as operações SQL realizadas desde o savepoint com o nome especificado. Se outros savepoints forem criados mais recentemente do que o savepoint especificado, as operações executadas depois destes savepoints serão confirmados também.
Uma vez que um savepoint é liberado ou revertido, esse savepoint e qualquer savepoint mais recente serão removidos. Se o código realiza operações SQL adicionais depois que uma chamada releaseSavepoint()
ou rollbackToSavepoint()
remove um savepoint, essas operações pertencem ao savepoint restante mais recente. (Em outras palavras, eles pertencem ao savepoint criado mais recentemente antes do savepoint removido.) Se nenhum savepoint permanecer, as operações pertencem à transação principal.
Parâmetros
name:String (default = null ) — String, o nome do savepoint do qual todas as operações SQL devem ser confirmadas. Se nenhum valor for fornecido ou se este parâmetro for null (o padrão) então o savepoint não denominado mais recente (criado por um chamada de setSavepoint() sem valor de name ) é usado. O valor de name não pode ser uma string vazia ("" ).
| |
responder:Responder (default = null ) — Um objeto que designa métodos a serem chamados quando a operação é bem-sucedida ou apresenta falha. No modo de execução assíncrono, se o argumento responder for null , um evento releaseSavepoint ou error será despachado quando a execução for concluída.
|
Eventos
releaseSavepoint: — Despachado quando a operação é concluída com êxito.
| |
error: — Despachado quando a operação falha no modo de execução assíncrona.
|
Lança
ArgumentError — Quando o valor de parâmetro name é uma string vazia ("" ).
| |
IllegalOperationError — Quando o método for chamado enquanto a instância de SQLConnection não estiver conectada a um banco de dados (a propriedade connected for false ); ou se nenhuma transação estiver aberta no momento (a propriedade inTransaction for false ).
| |
SQLError — Se a operação falhar no modo de execução sincrônica.
|
Elementos da API relacionados
removeEventListener | () | método |
override public function removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0 |
Remove um ouvinte do objeto EventDispatcher. Se não existir um ouvinte correspondente registrado com o objeto EventDispatcher, uma chamada para esse método não terá efeito.
Parâmetros
type:String — O tipo de evento.
| |
listener:Function — O objeto de ouvinte a remover.
| |
useCapture:Boolean (default = false ) —
Especifica se o ouvinte foi registrado na fase de captura ou nas fases de destino e bubbling. Se o ouvinte foi registrado para as fases de destino e de bubbling, duas chamadas para o removeEventListener() serão necessárias para remover as duas, uma chamada com o useCapture() definido como true e outra chamada com o useCapture() definido como false .
|
rollback | () | método |
public function rollback(responder:Responder = null):void
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0 |
Reverte uma transação existente criada com o uso do método begin()
, significando que todas as alterações feitas por qualquer instrução SQL na transação são descartadas.
Savepoints intermediáris podem ser marcados dentro de uma transação chamando o método setSavepoint()
. Usando savepoints você pode confirmar porções de uma transação chamando o método releaseSavepoint()
, ou reverter porções de uma transação chamando rollbackToSavepoint()
. Contudo, chamar o método rollback()
descarta permanentemente todas as modificações feitas em uma transação, mesmo que savepoints individuais tenham sido liberados (confirmados) antes que a transação seja revertida.
Parâmetros
responder:Responder (default = null ) — Um objeto que designa métodos a ser chamados quando a operação é bem-sucedida ou apresenta falha. No modo de execução assíncrono, se o argumento responder for null , um evento rollback ou error será despachado quando a execução for concluída.
|
Eventos
rollback: — Despachado quando a operação é concluída com êxito.
| |
error: — Despachado quando a operação falha no modo de execução assíncrona.
|
Lança
IllegalOperationError — Quando o método for chamado enquanto a instância de SQLConnection não estiver conectada a um banco de dados (a propriedade connected for false ); ou se nenhuma transação estiver aberta no momento (a propriedade inTransaction for false ).
| |
SQLError — Se a operação falhar no modo de execução sincrônica.
|
Elementos da API relacionados
rollbackToSavepoint | () | método |
public function rollbackToSavepoint(name:String = null, responder:Responder = null):void
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 2 |
Reverte qualquer operação SQL desde o savepoint mais recente ou o savepoint denominado se um nome for especificado.
Observe que se a transação inteira for confirmada chamando o método commit()
, qualquer modificação na transação que ainda não foi revertida usando o método rollbackToSavepoint()
será salva permanentemente no banco de dados. Além disso, chamar o método rollback()
descarta permanentemente todas as modificações, mesmo que savepoints individuais tenham sido liberados (confirmados) ou revertidos antes que a transação seja revertida.
Se este método é chamado sem parâmetros (ou com null
para o parâmetro name
), ele reverte todas as modificações no banco de dados desde o savepoint não denominado mais recente (a chamada mais recente para setSavepoint()
sem valor de parâmetro name
).
Se um valor é fornecido para o parâmetro name
este método reverte todas as operações SQL executadas desde o savepoint com o nome especificado. Se outros savepoints tiverem sido criados mais recentemente do que o savepoint especificado, as operações executadas desde aqueles savepoints serão revertidos também.
Uma vez que um savepoint é liberado ou revertido, esse savepoint e qualquer savepoint mais recente serão removidos. Se o código realiza operações SQL adicionais depois que uma chamada releaseSavepoint()
ou rollbackToSavepoint()
remove um savepoint, essas operações pertencem ao savepoint restante mais recente. (Em outras palavras, eles pertencem ao savepoint criado mais recentemente antes do savepoint removido.) Se nenhum savepoint permanecer, as operações pertencem à transação principal.
Parâmetros
name:String (default = null ) — String, o nome do savepoint ao qual o estado do banco de dados deve ser revertido. Se nenhum valor for fornecido ou se este parâmetro for null (o padrão) então o savepoint não denominado mais recente (criado por uma chamada para setSavepoint() sem valor de name ) é usado. O valor de name não pode ser uma string vazia ("" ).
| |
responder:Responder (default = null ) — Um objeto que designa métodos a serem chamados quando a operação é bem-sucedida ou apresenta falha. No modo de execução assíncrono, se o argumento responder for null , um evento rollbackToSavepoint ou error será despachado quando a execução for concluída.
|
Eventos
rollbackToSavepoint: — Despachado quando a operação é concluída com êxito.
| |
error: — Despachado quando a operação falha no modo de execução assíncrona.
|
Lança
ArgumentError — Quando o valor de parâmetro name é uma string vazia ("" ).
| |
IllegalOperationError — Quando o método for chamado enquanto a instância de SQLConnection não estiver conectada a um banco de dados (a propriedade connected for false ); ou se nenhuma transação estiver aberta no momento (a propriedade inTransaction for false ).
| |
SQLError — Se a operação falhar no modo de execução sincrônica.
|
Elementos da API relacionados
setSavepoint | () | método |
public function setSavepoint(name:String = null, responder:Responder = null):void
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 2 |
Cria um savepoint, que é como um marcador dentro de uma transação de banco de dados. Um savepoint representa um ponto dentro de uma transação. O conjunto de operações SQL executadas entre savepoints pode ser confirmado ou revertido separadamente de outras operações usando os métodos releaseSavepoint()
e rollbackToSavepoint()
. Deste modo, usar um savepoint permite-lhe tratar um conjunto de operações de SQL como uma transação aninhada.
Quando o método setSavepoint()
é invocado, se uma transação já não tiver sido aberta (chamando o método begin()
), chamar este método começa a transação e cria um savepoint no início da transação. Se uma transação já estiver aberta, chamar setSavepoint()
cria um savepoint dentro da transação.
Observe que até que a transação inteira seja confirmada, qualquer modificação não será salva permanentemente no banco de dados. Se a transação é iniciada usando o métodobegin()
, você deve chamar o método commit()
para confirmar a transação inteira. Se a transação é iniciada chamando setSavepoint()
enquanto inTransaction
for false
, você pode terminar a transação inteira chamando o método commit()
. A transação também termina automaticamente quando você chama releaseSavepoint()
ou rollbackToSavepoint()
para o savepoint que iniciou a transação.
Você pode especificar um nome de um savepoint fornecendo um valor para o parâmetro name
. Isto permite que você reverta ou confirme todas as modificações feitas desde esse savepoint específico. Se nenhum nome for especificado (o padrão) então um savepoint não denominado é criado.
Uma vez que um savepoint é liberado ou revertido, esse savepoint e qualquer savepoint mais recente serão removidos. Se o código realiza operações SQL adicionais depois que uma chamada releaseSavepoint()
ou rollbackToSavepoint()
remove um savepoint, essas operações pertencem ao savepoint restante mais recente. (Em outras palavras, eles pertencem ao savepoint criado mais recentemente antes do savepoint removido.) Se nenhum savepoint permanecer, as operações pertencem à transação principal.
Parâmetros
name:String (default = null ) — String, o nome do savepoint. Se nenhum valor for fornecido ou se este parâmetro for null (o padrão) então a próxima chamada para releaseSavepoint() ou rollbackToSavepoint() sem o parâmetro especificado name confirma ou reverte as operações SQL executadas desde o savepoint não denominado.
Se o nome fornecido for uma duplicata de um savepoint denominado anterior, a seguinte chamada para O valor de | |
responder:Responder (default = null ) — Um objeto que designa métodos a serem chamados quando a operação é bem-sucedida ou apresenta falha. No modo de execução assíncrono, se o argumento responder for null , um evento setSavepoint ou error será despachado quando a execução for concluída.
|
Eventos
setSavepoint: — Despachado quando a operação é concluída com êxito.
| |
error: — Despachado quando a operação falha no modo de execução assíncrona.
|
Lança
ArgumentError — Quando o valor de parâmetro name é uma string vazia ("" ).
| |
IllegalOperationError — Quando o método é chamado enquanto a ocorrência SQLConnection não está conectada ao banco de dados (a propriedade connected for false ).
| |
SQLError — Se a operação falhar no modo de execução sincrônica.
|
Elementos da API relacionados
analyze | Evento |
flash.events.SQLEvent
propriedade SQLEvent.type =
flash.events.SQLEvent.ANALYZE
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0 |
Despachado quando uma operação analyze()
é concluída com êxito.
SQLEvent.ANALYZE
define o valor da propriedade type
de um objeto de evento analyze
. Esse tipo de evento é despachado quando uma chamada de método SQLConnection.analyze()
é concluída de maneira bem-sucedida. O evento analyze
tem as seguintes propriedades:
Propriedade | Valor |
---|---|
bubbles | false |
cancelable | false ; não há comportamento padrão a ser cancelado. |
currentTarget | O objeto que está processando ativamente o objeto de evento com um ouvinte de evento. |
target | O objeto SQLConnection que executou a operação. |
Elementos da API relacionados
attach | Evento |
flash.events.SQLEvent
propriedade SQLEvent.type =
flash.events.SQLEvent.ATTACH
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0 |
Despachado quando uma operação de chamada do método attach()
é concluída com êxito.
SQLEvent.ATTACH
define o valor da propriedade type
de um objeto de evento attach
. Esse tipo de evento é despachado quando uma chamada de método SQLConnection.attach()
é concluída de maneira bem-sucedida. O evento attach
tem as seguintes propriedades:
Propriedade | Valor |
---|---|
bubbles | false |
cancelable | false ; não há comportamento padrão a ser cancelado. |
currentTarget | O objeto que está processando ativamente o objeto de evento com um ouvinte de evento. |
target | O objeto SQLConnection que executou a operação. |
Elementos da API relacionados
begin | Evento |
flash.events.SQLEvent
propriedade SQLEvent.type =
flash.events.SQLEvent.BEGIN
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0 |
Despachado quando uma operação de chamada do método begin()
é concluída com êxito.
SQLEvent.BEGIN
define o valor da propriedade type
de um objeto de evento begin
. Esse tipo de evento é despachado quando uma chamada de método SQLConnection.begin()
é concluída de maneira bem-sucedida. O evento begin
tem as seguintes propriedades:
Propriedade | Valor |
---|---|
bubbles | false |
cancelable | false ; não há comportamento padrão a ser cancelado. |
currentTarget | O objeto que está processando ativamente o objeto de evento com um ouvinte de evento. |
target | O objeto SQLConnection que executou a operação. |
Elementos da API relacionados
cancel | Evento |
flash.events.SQLEvent
propriedade SQLEvent.type =
flash.events.SQLEvent.CANCEL
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0 |
Despachado quando uma operação de chamada do método cancel()
é concluída com êxito.
SQLEvent.CANCEL
define o valor da propriedade type
de um objeto de evento cancel
. Esse tipo de evento é despachado quando uma chamada de método SQLConnection.cancel()
é concluída de maneira bem-sucedida. O evento cancel
tem as seguintes propriedades:
Propriedade | Valor |
---|---|
bubbles | false |
cancelable | false ; não há comportamento padrão a ser cancelado. |
currentTarget | O objeto que está processando ativamente o objeto de evento com um ouvinte de evento. |
target | O objeto SQLConnection ou SQLStatement que executou a operação. |
Elementos da API relacionados
close | Evento |
flash.events.SQLEvent
propriedade SQLEvent.type =
flash.events.SQLEvent.CLOSE
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0 |
Despachado quando uma operação de chamada do método close()
é concluída com êxito.
SQLEvent.CLOSE
define o valor da propriedade type
de um objeto de evento close
. Esse tipo de evento é despachado quando uma chamada de método SQLConnection.close()
é concluída de maneira bem-sucedida. O evento close
tem as seguintes propriedades:
Propriedade | Valor |
---|---|
bubbles | false |
cancelable | false ; não há comportamento padrão a ser cancelado. |
currentTarget | O objeto que está processando ativamente o objeto de evento com um ouvinte de evento. |
target | O objeto SQLConnection que executou a operação. |
Elementos da API relacionados
commit | Evento |
flash.events.SQLEvent
propriedade SQLEvent.type =
flash.events.SQLEvent.COMMIT
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0 |
Despachado quando uma operação de chamada do método commit()
é concluída com êxito.
SQLEvent.COMMIT
define o valor da propriedade type
de um objeto de evento commit
. Esse tipo de evento é despachado quando uma chamada de método SQLConnection.commit()
é concluída de maneira bem-sucedida. O evento commit
tem as seguintes propriedades:
Propriedade | Valor |
---|---|
bubbles | false |
cancelable | false ; não há comportamento padrão a ser cancelado. |
currentTarget | O objeto que está processando ativamente o objeto de evento com um ouvinte de evento. |
target | O objeto SQLConnection que executou a operação. |
Elementos da API relacionados
compact | Evento |
flash.events.SQLEvent
propriedade SQLEvent.type =
flash.events.SQLEvent.COMPACT
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0 |
Despachado quando uma operação de chamada do método compact()
é concluída com êxito.
SQLEvent.COMPACT
define o valor da propriedade type
de um objeto de evento compact
. Esse tipo de evento é despachado quando uma chamada de método SQLConnection.compact()
é concluída de maneira bem-sucedida. O evento compact
tem as seguintes propriedades:
Propriedade | Valor |
---|---|
bubbles | false |
cancelable | false ; não há comportamento padrão a ser cancelado. |
currentTarget | O objeto que está processando ativamente o objeto de evento com um ouvinte de evento. |
target | O objeto SQLConnection que executou a operação. |
Elementos da API relacionados
deanalyze | Evento |
flash.events.SQLEvent
propriedade SQLEvent.type =
flash.events.SQLEvent.DEANALYZE
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0 |
Despachado quando uma operação de chamada do método deanalyze()
é concluída com êxito.
SQLEvent.DEANALYSE
define o valor da propriedade type
de um objeto de evento deanalyse
. Esse tipo de evento é despachado quando uma chamada de método SQLConnection.deanalyze()
é concluída de maneira bem-sucedida. O evento deanalyse
tem as seguintes propriedades:
Propriedade | Valor |
---|---|
bubbles | false |
cancelable | false ; não há comportamento padrão a ser cancelado. |
currentTarget | O objeto que está processando ativamente o objeto de evento com um ouvinte de evento. |
target | O objeto SQLConnection que executou a operação. |
Elementos da API relacionados
delete | Evento |
flash.events.SQLUpdateEvent
propriedade SQLUpdateEvent.type =
flash.events.SQLUpdateEvent.DELETE
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0 |
Despachado quando os dados em qualquer tabela, em qualquer banco de dados conectado, são alterados como resultado de um comando SQL DELETE
. A alteração dos dados pode ser um resultado direto de uma instrução DELETE
executada por meio de uma ocorrência SQLStatement, ou um resultado indireto causado por um disparador acionado em resposta à execução de uma instrução.
SQLUpdateEvent.DELETE
define o valor da propriedade type
de um evento delete
do SQLConnection. O evento delete
tem as seguintes propriedades:
Propriedade | Valor |
---|---|
bubbles | false |
cancelable | false ; não há comportamento padrão a ser cancelado. |
currentTarget | O objeto que está processando ativamente o objeto de evento com um ouvinte de evento. |
rowID | O identificador de linha exclusivo da linha que foi inserida, excluída ou atualizada. |
target | O objeto SQLConnection no qual a operação foi executada. |
table | O nome da tabela na qual a alteração ocorreu. |
Elementos da API relacionados
detach | Evento |
flash.events.SQLEvent
propriedade SQLEvent.type =
flash.events.SQLEvent.DETACH
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0 |
Despachado quando uma operação de chamada do método detach()
é concluída com êxito.
SQLEvent.DETACH
define o valor da propriedade type
de um objeto de evento detach
. Esse tipo de evento é despachado quando uma chamada de método SQLConnection.detach()
é concluída de maneira bem-sucedida.
Propriedade | Valor |
---|---|
bubbles | false |
cancelable | false ; não há comportamento padrão a ser cancelado. |
currentTarget | O objeto que está processando ativamente o objeto de evento com um ouvinte de evento. |
target | O objeto SQLConnection que executou a operação. |
Elementos da API relacionados
error | Evento |
flash.events.SQLErrorEvent
propriedade SQLErrorEvent.type =
flash.events.SQLErrorEvent.ERROR
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0 |
Despachado quando qualquer operação assíncrona do objeto SQLConnection resulta em um erro. A ocorrência SQLErrorEvent que é despachada como o objeto do evento tem uma propriedade error
que contém informações sobre a operação que foi tentada e a causa da falha.
SQLErrorEvent.ERROR
define o valor da propriedade type
de um evento de erro despachado quando uma chamada para um método de uma instância SQLConnection ou SQLStatement é concluída com um erro. O evento error
tem as seguintes propriedades:
Propriedade | Valor |
---|---|
bubbles | false |
cancelable | false ; não há comportamento padrão a ser cancelado. |
error | Um objeto SQLError contendo informações sobre o tipo de erro que ocorreu e a operação que causou o erro. |
currentTarget | O objeto que está processando ativamente o objeto de evento com um ouvinte de evento. |
target | O objeto SQLConnection ou SQLStatement que relata o erro. |
insert | Evento |
flash.events.SQLUpdateEvent
propriedade SQLUpdateEvent.type =
flash.events.SQLUpdateEvent.INSERT
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0 |
Despachado quando os dados em qualquer tabela, em qualquer banco de dados conectado, são alterados como resultado de um comando SQL INSERT
. A alteração dos dados pode ser um resultado direto de uma instrução INSERT
executada por meio de uma instância SQLStatement, ou um resultado indireto causado por um disparador acionado em resposta à execução de uma instrução.
SQLUpdateEvent.INSERT
define o valor da propriedade type
de um evento insert
do SQLConnection. O evento insert
tem as seguintes propriedades:
Propriedade | Valor |
---|---|
bubbles | false |
cancelable | false ; não há comportamento padrão a ser cancelado. |
currentTarget | O objeto que está processando ativamente o objeto de evento com um ouvinte de evento. |
rowID | O identificador de linha exclusivo da linha que foi inserida, excluída ou atualizada. |
target | O objeto SQLConnection no qual a operação foi executada. |
table | O nome da tabela na qual a alteração ocorreu. |
Elementos da API relacionados
open | Evento |
flash.events.SQLEvent
propriedade SQLEvent.type =
flash.events.SQLEvent.OPEN
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0 |
Despachado quando uma operação de chamada do método openAsync()
é concluída com êxito.
SQLEvent.OPEN
define o valor da propriedade type
de um objeto de evento open
. Esse tipo de evento é despachado quando uma chamada de método SQLConnection.open
ou SQLConnection.openAsync()
é concluída de maneira bem-sucedida. O evento open
tem as seguintes propriedades:
Propriedade | Valor |
---|---|
bubbles | false |
cancelable | false ; não há comportamento padrão a ser cancelado. |
currentTarget | O objeto que está processando ativamente o objeto de evento com um ouvinte de evento. |
target | O objeto SQLConnection que executou a operação. |
Elementos da API relacionados
reencrypt | Evento |
flash.events.SQLEvent
propriedade SQLEvent.type =
flash.events.SQLEvent.REENCRYPT
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.5 |
Despachado quando uma operação de chamada do método reencrypt()
é concluída com êxito.
SQLEvent.REENCRYPT
define o valor da propriedade type
de um objeto de evento reencrypt
. Esse tipo de evento é despachado quando uma chamada de método SQLConnection.reencrypt()
é concluída com êxito. O evento reencrypt
tem as seguintes propriedades:
Propriedade | Valor |
---|---|
bubbles | false |
cancelable | false ; não há comportamento padrão a ser cancelado. |
currentTarget | O objeto que está processando ativamente o objeto de evento com um ouvinte de evento. |
target | O objeto SQLConnection que executou a operação. |
Elementos da API relacionados
releaseSavepoint | Evento |
flash.events.SQLEvent
propriedade SQLEvent.type =
flash.events.SQLEvent.RELEASE_SAVEPOINT
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 2 |
Despachado quando uma operação de chamada do método releaseSavepoint()
é concluída com êxito.
SQLEvent.RELEASE_SAVEPOINT
define o valor da propriedade type
de um objeto de evento releaseSavepoint
. Esse tipo de evento é despachado quando uma chamada de método SQLConnection.releaseSavepoint()
é concluída de maneira bem-sucedida. O evento releaseSavepoint
tem as seguintes propriedades:
Propriedade | Valor |
---|---|
bubbles | false |
cancelable | false ; não há comportamento padrão a ser cancelado. |
currentTarget | O objeto que está processando ativamente o objeto de evento com um ouvinte de evento. |
target | O objeto SQLConnection que executou a operação. |
Elementos da API relacionados
rollback | Evento |
flash.events.SQLEvent
propriedade SQLEvent.type =
flash.events.SQLEvent.ROLLBACK
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0 |
Despachado quando uma operação de chamada do método rollback()
é concluída com êxito.
SQLEvent.ROLLBACK
define o valor da propriedade type
de um objeto de evento rollback
. Esse tipo de evento é despachado quando uma chamada de método SQLConnection.rollback()
é concluída de maneira bem-sucedida. O evento rollback
tem as seguintes propriedades:
Propriedade | Valor |
---|---|
bubbles | false |
cancelable | false ; não há comportamento padrão a ser cancelado. |
currentTarget | O objeto que está processando ativamente o objeto de evento com um ouvinte de evento. |
target | O objeto SQLConnection que executou a operação. |
Elementos da API relacionados
rollbackToSavepoint | Evento |
flash.events.SQLEvent
propriedade SQLEvent.type =
flash.events.SQLEvent.ROLLBACK_TO_SAVEPOINT
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 2 |
Despachado quando uma operação de chamada do método rollbackToSavepoint()
é concluída com êxito.
SQLEvent.ROLLBACK_TO_SAVEPOINT
define o valor da propriedade type
de um objeto de evento rollbackToSavepoint
. Esse tipo de evento é despachado quando uma chamada de método SQLConnection.rollbackToSavepoint()
é concluída de maneira bem-sucedida. O evento rollbackToSavepoint
tem as seguintes propriedades:
Propriedade | Valor |
---|---|
bubbles | false |
cancelable | false ; não há comportamento padrão a ser cancelado. |
currentTarget | O objeto que está processando ativamente o objeto de evento com um ouvinte de evento. |
target | O objeto SQLConnection que executou a operação. |
Elementos da API relacionados
schema | Evento |
flash.events.SQLEvent
propriedade SQLEvent.type =
flash.events.SQLEvent.SCHEMA
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0 |
Despachado quando uma operação de chamada do método loadSchema()
é concluída com êxito e os resultados do esquema estão prontos.
SQLEvent.SCHEMA
define o valor da propriedade type
de um objeto de evento schema
. Despachado quando o método SQLConnection.loadSchema()
for concluído com êxito. Assim que o evento SQLEvent.SCHEMA
é despachado, o método SQLConnection.getSchemaResult()
pode ser usado para obter informações sobre o esquema. O evento schema
tem as seguintes propriedades:
Propriedade | Valor |
---|---|
bubbles | false |
cancelable | false ; não há comportamento padrão a ser cancelado. |
currentTarget | O objeto que está processando ativamente o objeto de evento com um ouvinte de evento. |
target | O objeto SQLConnection que executou a operação. |
Elementos da API relacionados
setSavepoint | Evento |
flash.events.SQLEvent
propriedade SQLEvent.type =
flash.events.SQLEvent.SET_SAVEPOINT
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 2 |
Despachado quando uma operação de chamada do método setSavepoint()
é concluída com êxito.
SQLEvent.SET_SAVEPOINT
define o valor da propriedade type
de um objeto de evento setSavepoint
. Esse tipo de evento é despachado quando uma chamada de método SQLConnection.setSavepoint()
é concluída de maneira bem-sucedida. O evento setSavepoint
tem as seguintes propriedades:
Propriedade | Valor |
---|---|
bubbles | false |
cancelable | false ; não há comportamento padrão a ser cancelado. |
currentTarget | O objeto que está processando ativamente o objeto de evento com um ouvinte de evento. |
target | O objeto SQLConnection que executou a operação. |
Elementos da API relacionados
update | Evento |
flash.events.SQLUpdateEvent
propriedade SQLUpdateEvent.type =
flash.events.SQLUpdateEvent.UPDATE
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0 |
Despachado quando os dados em qualquer tabela, em qualquer banco de dados conectado, são alterados como resultado de um comando SQL UPDATE
. A alteração dos dados pode ser um resultado direto de uma instrução UPDATE
executada por meio de uma ocorrência SQLStatement, ou um resultado indireto causado por um disparador acionado em resposta à execução de uma instrução.
SQLUpdateEvent.UPDATE
define o valor da propriedade type
de um evento update
do SQLConnection.
O evento update
tem as seguintes propriedades:
Propriedade | Valor |
---|---|
bubbles | false |
cancelable | false ; não há comportamento padrão a ser cancelado. |
currentTarget | O objeto que está processando ativamente o objeto de evento com um ouvinte de evento. |
rowID | O identificador de linha exclusivo da linha que foi inserida, excluída ou atualizada. |
target | O objeto SQLConnection no qual a operação foi executada. |
table | O nome da tabela na qual a alteração ocorreu. |
Elementos da API relacionados
Wed Jun 13 2018, 11:10 AM Z