Пакет | flash.data |
Класс | public class SQLConnection |
Наследование | SQLConnection EventDispatcher Object |
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0 |
Функциональные возможности класса SQLConnection подразделяются на несколько категорий:
-
Файл локальной базы данных SQL создается и открывается вызовом метода
open()
экземпляра SQLConnection в свойствеsqlConnection
экземпляра SQLStatement. -
Класс SQLConnection также предоставляет состояние для инструкций SQL, включая механизм выполнения нескольких инструкций в одной транзакции. Управление транзакциями осуществляется с использованием методов
begin()
,commit()
иrollback()
. Кроме того, методыsetSavepoint()
,releaseSavepoint()
иrollbackToSavepoint()
позволяют коду определять точки сохранения и управлять ими. Они служат для разбивки транзакций на группы операций. -
Класс SQLConnection обеспечивает доступ к сведениям о схемах подключенных баз данных. Схема базы данных содержит определения ее таблиц, столбцов, индексов и триггеров. Дополнительные сведения см. в описании метода
loadSchema()
. -
Класс SQLConnection предоставляет возможность шифрования баз данных с использованием стандарта AES в режиме CCM. Это обеспечивает как проверку подлинности, так и конфиденциальность данных. Для шифрования базы данных необходимо при ее создании указать 16-байтный ключ (с помощью ByteArray). В дальнейшем этот ключ можно изменить с помощью метода
SQLConnection.reencrypt()
. Шифрование снижает производительность при выполнении операций записи и чтения в отношении базы данных. Шифрование применяется к данным, хранящимся на диске, но не к данным во временной кэш-памяти. Шифрование не поддерживается для баз данных в памяти. -
Экземпляр SQLConnection может использоваться для получения уведомлений о событиях на уровне базы данных и контроля всех аспектов конфигурации базы данных, включая размер страниц кэша, параметры отмены обработки и выполнения инструкций.
Экземпляр SQLConnection
работает в одном или двух отдельных режимах выполнения: асинхронном и синхронном. Для синхронного выполнения при подключении к главной базе данных экземпляра SQLConnection необходимо использовать метод open()
. Для асинхронного выполнения при подключении к главной базе данных экземпляра подключения необходимо использовать метод openAsync()
.
При асинхронном выполнении для определения завершения или сбоя операции используются прослушиватели или экземпляр Responder. Операции выполняются не в основном, а в фоновом потоке приложения, поэтому оно будет продолжать работать и взаимодействовать с пользователем даже во время выполнения операций с базой данных. Каждый асинхронный экземпляр SQLConnection выполняет инструкции SQL в собственной цепочке.
При асинхронном режиме выполнения сначала с помощью соответствующего метода вызывается определенная операция, а для определения ее завершения (или сбоя) необходимо зарегистрировать прослушиватель соответствующего события. Каждой операции соответствует событие, которое отправляется при ее успешном завершении. Например, если метод openAsync()
завершается успешно (если открыто подключение базы данных), отправляется событие open
. При сбое какой-либо операции отправляется событие error
. Экземпляр SQLError в свойстве error
объекта SQLErrorEvent содержит сведения об определенной ошибке, включая выполняемую операцию и причину ее сбоя.
При синхронном выполнении для определения завершения или сбоя операции не нужно регистрировать прослушиватели событий. Чтобы определить ошибки, заключите инструкции, которые их вызывают, в блоки try..catch
. Из-за того что синхронные операции выполняются в основном потоке, при выполнении одной или нескольких операций с базой данных все функции приложения (включая обновление экрана и возможность работы с мышью и клавиатурой) приостанавливаются. Продолжительные операции могут привести к заметной остановке работы приложения.
Дополнительно
Быстрое начало работы: асинхронная работа с локальной базой данных SQL (Flash)
Быстрое начало работы: асинхронная работа с локальной базой данных SQL (HTML)
Быстрое начало работы: синхронная работа с локальной базой данных SQL (Flex)
Быстрое начало работы: синхронная работа с локальной базой данных SQL (Flash)
Быстрое начало работы: синхронная работа с локальной базой данных SQL (HTML)
Связанные элементы API
Свойство | Определено | ||
---|---|---|---|
autoCompact : Boolean [только для чтения]
Указывает, было ли включено автоматическое сжатие при создании текущей базы данных (значение параметра autoCompact, указанное при вызове метода open() или openAsync(), с помощью которого была создана база данных). | SQLConnection | ||
cacheSize : uint
Обеспечивает доступ к величине размера кэша данного подключения. Эта величина — максимальное количество дисковых страниц базы данных, которые могут одновременно находиться в памяти. | SQLConnection | ||
columnNameStyle : String
Указывает, в каком виде имена столбцов представлены в результате выполнения инструкции SELECT. | SQLConnection | ||
connected : Boolean [только для чтения]
Указывает, имеет ли экземпляр SQLConnection открытое подключение к файлу базы данных. | SQLConnection | ||
constructor : Object
Ссылка на объект класса или функцию конструктора для данного экземпляра объекта. | Object | ||
inTransaction : Boolean [только для чтения]
Указывает, используется ли это подключение транзакциями в данный момент. | SQLConnection | ||
isSupported : Boolean [статические] [только для чтения]
Обозначает, поддерживается ли класс SQLConnection на текущей платформе или нет. | SQLConnection | ||
lastInsertRowID : Number [только для чтения]
Последний идентификатор строки, созданный инструкцией SQL INSERT. | SQLConnection | ||
pageSize : uint [только для чтения]
Указывает размер страницы базы данных (в байтах), заданный при создании текущей базы данных (значение параметра pageSize, указанное при вызове метода open() или openAsync(), с помощью которого была создана база данных). | SQLConnection | ||
totalChanges : Number [только для чтения]
Содержит общее число изменений данных, выполненных с момента открытия подключения к базе данных. | SQLConnection |
Метод | Определено | ||
---|---|---|---|
Создает экземпляр SQLConnection. | SQLConnection | ||
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0.0, useWeakReference:Boolean = false):void [переопределить]
Регистрирует объект прослушивателя события на объекте EventDispatcher для получения прослушивателем уведомления о событии. | SQLConnection | ||
Собирает статистику об индексах базы данных и сохраняет ее в базе данных. | SQLConnection | ||
attach(name:String, reference:Object = null, responder:Responder = null, encryptionKey:ByteArray = null):void
Добавляет новую базу данных в экземпляр SQLConnection, присваивая ей заданное имя. | SQLConnection | ||
Начинает транзакцию, в рамках которой в отношении базы данных подключения или сгруппированных баз данных выполняются инструкции SQL. | SQLConnection | ||
Прерывает все инструкции SQL, выполняемые в текущий момент в базах данных, подключенных к данному экземпляру SQLConnection. | SQLConnection | ||
Закрывает текущее подключение базы данных. | SQLConnection | ||
Фиксирует существующую транзакцию, в результате чего все действия, выполненные ее инструкциями, применяются к базе данных окончательно. | SQLConnection | ||
Освобождает все неиспользуемое место в базе данных. | SQLConnection | ||
Удаляет все статистические данные, созданные методом analyze(). | SQLConnection | ||
Отсоединяет дополнительную базу данных, ранее подключенную к экземпляру SQLConnection с помощью метода attach(). | SQLConnection | ||
Посылает событие в поток событий. | EventDispatcher | ||
Обеспечивает доступ к результату вызова метода loadSchema(). | SQLConnection | ||
Проверяет, имеет ли объект EventDispatcher прослушиватели, зарегистрированные для определенного типа события. | EventDispatcher | ||
Показывает, определено ли заданное свойство для объекта. | Object | ||
Показывает, есть ли экземпляр класса Object в цепи прототипов объекта, заданного в качестве параметра. | Object | ||
loadSchema(type:Class = null, name:String = null, database:String = "main", includeColumnSchema:Boolean = true, responder:Responder = null):void
Загружает сведения о схеме данных из присоединенной или любой подключенной базы данных. | SQLConnection | ||
open(reference:Object = null, openMode:String = "create", autoCompact:Boolean = false, pageSize:int = 1024, encryptionKey:ByteArray = null):void
Открывает синхронное подключение к файлу базы данных с заданным местоположением в файловой системе, создает и открывает новый файл базы данных с заданным местоположением или создает и открывает базу данных в оперативной памяти. | SQLConnection | ||
openAsync(reference:Object = null, openMode:String = "create", responder:Responder = null, autoCompact:Boolean = false, pageSize:int = 1024, encryptionKey:ByteArray = null):void
Открывает асинхронное подключение к файлу базы данных с заданным местоположением в файловой системе, создает и открывает новый файл базы данных с заданным местоположением или создает и открывает базу данных в оперативной памяти. | SQLConnection | ||
Показывает наличие заданного свойства и его перечисляемость. | Object | ||
Изменяет ключ шифрования зашифрованной базы данных. | SQLConnection | ||
Этот метод сохраняет операции SQL, выполненные с момента создания последней точки сохранения или именованной точки сохранения. | SQLConnection | ||
[переопределить]
Удаляет прослушиватель из объекта EventDispatcher. | SQLConnection | ||
Выполняет откат существующей транзакции, созданной с помощью метода begin(), то есть все изменения, внесенные любыми инструкциями SQL в рамках данной транзакции, отменяются. | SQLConnection | ||
Отменяет операции SQL, выполненные с момента создания последней точки сохранения или именованной точки сохранения. | SQLConnection | ||
Задает доступность динамического свойства для операций цикла. | Object | ||
Создается точка сохранения, выполняющая функцию закладки в транзакции базы данных. | SQLConnection | ||
Возвращает строковое представление этого объекта, отформатированного в соответствии со стандартами, принятыми для данной локали. | Object | ||
Возвращает строковое представление заданного объекта. | Object | ||
Возвращает элементарное значение заданного объекта. | Object | ||
Проверяет, зарегистрирован ли прослушиватель события для указанного типа события с данным объектом EventDispatcher или любым его предшественником. | EventDispatcher |
Событие | Сводка | Определено | ||
---|---|---|---|---|
[многоадресное событие] Отправляется, когда проигрыватель Flash Player или приложение AIR перемещается в фокус операционной системы и становится активным. | EventDispatcher | |||
Отправляется при успешном завершении операции analyze(). | SQLConnection | |||
Отправляется при успешном вызове метода attach(). | SQLConnection | |||
Отправляется при успешном вызове метода begin(). | SQLConnection | |||
Отправляется при успешном вызове метода cancel(). | SQLConnection | |||
Отправляется при успешном вызове метода close(). | SQLConnection | |||
Отправляется при успешном вызове метода commit(). | SQLConnection | |||
Отправляется при успешном вызове метода compact(). | SQLConnection | |||
[многоадресное событие] Отправляется, когда проигрыватель Flash Player или приложение AIR теряет фокус системы и становится неактивным. | EventDispatcher | |||
Отправляется при успешном вызове метода deanalyze(). | SQLConnection | |||
Отправляется при изменении данных в любой таблице любой подключенной базы данных в результате выполнения команды SQL DELETE. | SQLConnection | |||
Отправляется при успешном вызове метода detach(). | SQLConnection | |||
Отправляется, если любая из асинхронных операций объекта SQLConnection вызывает ошибку. | SQLConnection | |||
Отправляется при изменении данных в любой таблице любой подключенной базы данных в результате выполнения команды SQL INSERT. | SQLConnection | |||
Отправляется при успешном вызове метода openAsync(). | SQLConnection | |||
Отправляется при успешном завершении операции вызова метода reencrypt(). | SQLConnection | |||
Отправляется после успешного выполнения метода releaseSavepoint(). | SQLConnection | |||
Отправляется при успешном вызове метода rollback(). | SQLConnection | |||
Отправляется после успешного выполнения метода rollbackToSavepoint(). | SQLConnection | |||
Отправляется при успешном вызове метода loadSchema() и готовности результатов схемы. | SQLConnection | |||
Отправляется после успешного выполнения метода setSavepoint(). | SQLConnection | |||
Отправляется при изменении данных в любой таблице любой подключенной базы данных в результате выполнения команды SQL UPDATE. | SQLConnection |
autoCompact | свойство |
autoCompact:Boolean
[только для чтения] Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0 |
Указывает, было ли включено автоматическое сжатие при создании текущей базы данных (значение параметра autoCompact
, указанное при вызове метода open()
или openAsync()
, с помощью которого была создана база данных). Если это свойство имеет значение true
, неиспользуемое место автоматически удаляется из базы данных после каждой операции записи, тем самым уменьшая размер файла базы данных. Если это свойство имеет значение false
, место, занимаемое данными до удаления, остается в базе данных и при необходимости используется повторно. Даже если свойство autoCompact
имеет значение false
, с помощью метода compact()
можно выполнить принудительное восстановление неиспользуемого места.
Если свойство connected
имеет значение false
, это свойство имеет значение false
.
Реализация
public function get autoCompact():Boolean
Связанные элементы API
cacheSize | свойство |
cacheSize:uint
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0 |
Обеспечивает доступ к величине размера кэша данного подключения. Эта величина — максимальное количество дисковых страниц базы данных, которые могут одновременно находиться в памяти. Каждая страница использует около 1,5 КБ памяти (в зависимости от значения параметра pageSize
, указанного при вызове метода open()
или openAsync()
, с помощью которого была создана база данных). Размер кэша по умолчанию равен 2000. Если в приложении выполняются операции UPDATE
или DELETE
, которые изменяют большое количество строк в базе данных, увеличив размер кэша, можно ускорить работу за счет повышенного потребления памяти.
Реализация
public function get cacheSize():uint
public function set cacheSize(value:uint):void
Выдает
IllegalOperationError — Если осуществляется попытка задать это свойство, когда экземпляр SQLConnection не подключен к базе данных (свойство connected имеет значение false ), или если в текущий момент открыта транзакция (свойство inTransaction имеет значение true ).
|
Связанные элементы API
columnNameStyle | свойство |
columnNameStyle:String
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0 |
Указывает, в каком виде имена столбцов представлены в результате выполнения инструкции SELECT
.
Константы, определенные в классе SQLColumnNameStyle, представляют собой возможные значения данного свойства:
SQLColumnNameStyle.LONG
обозначает, что имена столбцов возвращаются в формате[table-name]_[column-name]
.SQLColumnNameStyle.SHORT
обозначает, что имена столбцов имеют формат[column-name]
. Если существует несколько столбцов с одинаковым именем, в результирующий объект будет добавлено только одно свойство с таким именем.SQLColumnNameStyle.DEFAULT
является значением по умолчанию. Если используется это значение, то имена столбцов в результате форматируются в соответствии с количеством таблиц в инструкцииSELECT
, в которых есть столбцы с одинаковыми именами. Если в инструкцииSELECT
содержится только одна таблица, используется краткий формат имен[column-name]
. Если в инструкцииSELECT
содержится несколько таблиц, соединенных вместе, всякий раз, когда из-за двух столбцов с одинаковым именем возникает конфликт имен, для них используется длинный формат имен[table-name]_[column-name]
.
Реализация
public function get columnNameStyle():String
public function set columnNameStyle(value:String):void
Выдает
IllegalOperationError — Если предпринимается попытка задать это свойство, когда экземпляр SQLConnection не подключен к базе данных (свойство connected имеет значение false ).
|
Связанные элементы API
connected | свойство |
inTransaction | свойство |
isSupported | свойство |
lastInsertRowID | свойство |
lastInsertRowID:Number
[только для чтения] Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0 |
Последний идентификатор строки, созданный инструкцией SQL INSERT
. Уникальный идентификатор строки в таблице, используемый для поиска в базе данных. Это значение часто генерируется базой данных.
Значение равно нулю, если ни одна база данных не подключена или не выполнено ни одной инструкции INSERT
.
Идентификатор строки для однократного выполнения инструкции SQL INSERT
можно получить через свойство lastInsertRowID
объекта SQLResult, возвращенного методом getResult()
объекта SQLStatement (когда он вызывается после отправки объектом SQLStatement события result
).
Дополнительные сведения о первичных ключах и созданных идентификаторах строк см. в разделах «CREATE TABLE» и «Выражения» в приложении «Поддержка SQL в локальных базах данных».
Реализация
public function get lastInsertRowID():Number
Связанные элементы API
pageSize | свойство |
pageSize:uint
[только для чтения] Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0 |
Указывает размер страницы базы данных (в байтах), заданный при создании текущей базы данных (значение параметра pageSize
, указанное при вызове метода open()
или openAsync()
, с помощью которого была создана база данных).
Если свойство connected
имеет значение false
, это значение данного свойства равно 0.
Размер страницы базы данных можно менять (с помощью методов open()
или openAsync()
), пока в базе данных не будет создана первая таблица.
Реализация
public function get pageSize():uint
Связанные элементы API
totalChanges | свойство |
totalChanges:Number
[только для чтения] Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0 |
Содержит общее число изменений данных, выполненных с момента открытия подключения к базе данных. Кроме отслеживания изменений, сделанных с помощью инструкций INSERT
, DELETE
и UPDATE
, это значение включает изменения, вызванные триггерами.
При закрытии подключения к базе данных это значение сбрасывается в 0. Когда экземпляр SQLConnection не подключен к базе данных, значение равно 0.
Реализация
public function get totalChanges():Number
Связанные элементы API
SQLConnection | () | Конструктор |
public function SQLConnection()
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0 |
Создает экземпляр SQLConnection.
Выдает
SecurityError — если конструктор вызывается из какой-либо изолированной среды за пределами главной изолированной среды приложения.
|
addEventListener | () | метод |
override public function addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0.0, useWeakReference:Boolean = false):void
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0 |
Регистрирует объект прослушивателя события на объекте EventDispatcher для получения прослушивателем уведомления о событии. Можно регистрировать прослушиватели событий в любом узле из списка отображения для каждого типа события, фазы и приоритета.
После успешной регистрации прослушивателя событий невозможно изменить его приоритет путем дополнительных вызовов addEventListener()
. Чтобы изменить приоритет прослушивателя, необходимо сначала вызвать метод removeListener()
. Затем можно снова зарегистрировать прослушиватель с новым приоритетом.
Следует учесть, что после регистрации прослушивателя последующие вызовы метода addEventListener()
с другим значением свойства type
или useCapture
приводят к регистрации другого прослушивателя. Например, прослушиватель, изначально зарегистрированный со значением useCapture
, равным true
, прослушивает только во время фазы захвата. Если вызвать метод addEventListener()
еще раз с тем же объектом прослушивателя, но со свойством useCapture
в значении false
, то будет два прослушивателя: один — прослушивающий в фазе захвата, а другой — в целевой фазе и фазе восходящей цепочки.
Невозможно зарегистрировать прослушиватель события только для целевой фазы или для фазы восходящей цепочки. Эти фазы соединены при регистрации, поскольку восходящая цепочка применяется только к предшественникам целевого узла.
Если прослушиватель событий больше не нужен, его можно удалить, вызвав метод removeEventListener()
, иначе могут возникнуть проблемы с памятью. Прослушиватели событий не удаляются из памяти автоматически, так как сборщик мусора не удаляет прослушиватель, пока существует объект, отправляющий соответствующее событие (если параметру useWeakReference
не задано значение true
).
Копирование экземпляра EventDispatcher не приводит к копированию прослушивателей событий, присоединенных к нему. (Если для вновь создаваемого узла требуется прослушиватель событий, его необходимо присоединить после создания узла.) При этом при перемещении экземпляра EventDispatcher присоединенные к нему прослушиватели событий перемещаются вместе с ним.
Если прослушиватель регистрируется для узла в тот момент, когда на нем обрабатывается событие, то в текущей фазе он не запускается, однако может запуститься в следующей фазе потока события, например в фазе восходящей цепочки.
Прослушиватель событий, удаленный из узла во время обработки события на этом узле, будет запускаться текущими операциями. После удаления прослушиватель событий больше не вызывается (если не будет снова зарегистрирован для дальнейшей обработки).
Параметры
type:String — Тип события.
| |
listener:Function — Функция прослушивателя, обрабатывающая событие. Эта функция должна принимать объект Event в качестве единственного параметра и не должна что-либо возвращать , как показано в примере:
function(evt:Event):void Эта функция может иметь любое имя. | |
useCapture:Boolean (default = false ) —
Определяет, работает ли прослушиватель в фазе захвата или в целевой фазе и в фазе восходящей цепочки. Если значение useCapture равно true , прослушиватель обрабатывает событие только во время фазы захвата, но не во время целевой фазы или фазы восходящей цепочки. Если значение useCapture равно false , то прослушиватель обрабатывает событие только в целевой фазе или фазе восходящей цепочки. Чтобы прослушивать событие во всех трех фазах, необходимо вызвать addEventListener() дважды: один раз с useCapture в значении true , а другой — с useCapture в значении false .
| |
priority:int (default = 0.0 ) — Уровень приоритета прослушивателя событий. Приоритет определяется 32-разрядным целым числом со знаком. Чем больше число, тем выше приоритет. Все прослушиватели событий с приоритетом n обрабатываются перед прослушивателями с приоритетом n-1. Прослушиватели с одинаковым приоритетом обрабатываются в порядке их добавления. Значение приоритета по умолчанию равно 0.
| |
useWeakReference:Boolean (default = false ) — Определяет, является ли ссылка на прослушиватель «сильной» или «слабой». «Сильная» ссылка (по умолчанию) предотвращает удаление прослушивателя сборщиком мусора. «Слабая» ссылка позволяет удалить прослушиватель. Функции элементов уровня класса не подлежат удалению в качестве мусора, вследствие чего можно установить |
analyze | () | метод |
public function analyze(resourceName:String = null, responder:Responder = null):void
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0 |
Собирает статистику об индексах базы данных и сохраняет ее в базе данных. Статистика может использоваться оптимизатором запросов (той частью ядра СУБД, которая определяет самый эффективный способ выполнения каждой инструкции). Статистика помогает оптимизатору запросов лучшим образом выбрать один или несколько индексов при выполнении определенного запроса.
Если в базе данных определены индексы, но метод analyze()
не вызван, среда выполнения все равно будет использовать их при выполнении инструкции. Но без дополнительных статистических данных, которые формируются с помощью метода analyze()
, среда выполнения может выбрать не самый эффективный индекс для определенного запроса.
При изменении данных таблицы (в результате выполнения операторов INSERT
, UPDATE
или DELETE
) изменяются также и индексы, связанные с этой таблицей. Статистические данные, которые формируются с помощью метода analyze()
, не обновляются автоматически. Следовательно, после большого числа изменений данных может быть полезным повторный вызов метода analyze()
. Однако польза, полученная от вызова метода analyze()
, зависит от нескольких факторов, включая число индексов в таблице, соотношение числа измененных строк и общего числа строк в таблице, степень изменения проиндексированных данных таблицы и того, насколько измененные данные отличаются от ранее измененных данных.
Параметр resourceName
указывает, выполняется ли операция для индексов всех подключенных баз данных, определенной базы данных или определенной таблицы.
Каждый раз при вызове данного метода все ранее созданные статистические данные стираются и повторно создаются для базы данных или таблицы, указанной в параметре resourceName
(или для всех таблиц всех подключенных баз данных, если параметр resourceName
имеет значение null
). Этот метод можно вызывать в любое время, пока открыто подключение базы данных. Операция analyze()
и ее статистические данные не включаются в транзакцию. Несмотря на это, не рекомендуется вызывать метод analyze()
, если в данный момент в базе данных открыта транзакция (свойство inTransaction
имеет значение true
). Это связано с тем, что при вызове метода analyze()
не учитываются любые изменения данных, схем таблиц или индексов, которые были выполнены в транзакции, но ещё не были зафиксированы, следовательно, на момент фиксации транзакции данные метода analyze()
будут устаревшими.
Для удаления статистических данных, созданных с помощью метода analyze()
, используется метод deanalyze()
.
Параметры
resourceName:String (default = null ) — Имя базы данных или таблицы, индексы которых требуется проанализировать. Если указанный ресурс является таблицей, которая имеет уникальное среди всех подключенных баз данных имя, необходимо указать только имя таблицы. Тем не менее, чтобы избежать неоднозначности, если имя таблицы окажется неуникальным, его можно указать в виде [database-name]. [table-name] . Если параметр resourceName имеет значение null (по умолчанию), анализируются все индексы подключенных баз данных.
| |
responder:Responder (default = null ) — Объект, для которого определены методы, вызываемые при успешном выполнении или сбое операции. В асинхронном режиме выполнения, если аргумент responder имеет значение null , по окончании выполнения отправляется событие analyze или error .
|
События
analyze: — Отправляется после успешного завершения операции.
| |
error: — Отправляется после сбоя операции в асинхронном режиме выполнения.
|
Выдает
IllegalOperationError — Если этот метод вызван, когда экземпляр SQLConnection не подключен к базе данных (свойство connected имеет значение false ).
| |
SQLError — если произошел сбой операции в синхронном режиме выполнения.
|
Связанные элементы API
attach | () | метод |
public function attach(name:String, reference:Object = null, responder:Responder = null, encryptionKey:ByteArray = null):void
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0 |
Добавляет новую базу данных в экземпляр SQLConnection, присваивая ей заданное имя. Подключение базы данных позволяет использовать ее в инструкциях SQL, выполняемых применительно к экземпляру SQLConnection.
Если база данных уже подключена с использованием заданного имени, вызов метода attach()
приведет к появлению ошибки. Тем не менее, одну и ту же базу данных можно подключить несколько раз, используя уникальные имена. К одному экземпляру SQLConnection можно подключить не более 10 баз данных.
Любой оператор SQL можно выполнить применительно к базе данных, которая подключена с помощью метода attach()
, вызванного для главной базы данных (базы данных, которая подключена с помощью метода open()
или openAsync()
). Оператор SQL может обращаться к таблицам из любых баз данных, которые подключены к экземпляру SQLConnection, связанному с оператором, включая возможность обращения к таблицам из нескольких баз данных в одном операторе. Когда среда выполнения анализирует имена таблиц в инструкции, она осуществляет поиск по базам данных экземпляра SQLConnection в порядке их подключения, начиная с базы данных, которая была подключена с помощью метода open()
или openAsync()
. Чтобы в явном виде указать имя таблицы, в инструкции нужно использовать имя базы данных (как указано в передаваемом в метод attach()
параметре name
).
Для удаления базы данных, подключенной с помощью метода attach()
, используется метод detach()
. При закрытии экземпляра SQLConnection (с помощью метода close()
) все подключенные базы данных отсоединяются.
Подключенная база данных использует тот же режим выполнения (синхронный или асинхронный), что и главная, в зависимости от метода, с помощью которого была подключена главная база данных open()
или openAsync()
.
Параметры
name:String — Имя, используемое для определения только что подключенной базы данных. Это имя можно использовать в операторах SQL, чтобы в явном виде указать принадлежность таблицы определенной базе данных в формате [database-name]. [table-name] . Имена main и temp зарезервированы и не могут использоваться.
| |
reference:Object (default = null ) — Ссылка на подключаемый файл базы данных (экземпляр flash.filesystem.File). Если ссылка ссылается на отсутствующий файл, то создается новый файл базы данных или генерируется ошибка в зависимости от значения, указанного в параметре openMode при вызове метода open() или openAsync() для подключения главной базы данных.
Если параметр имеет значение | |
responder:Responder (default = null ) — Объект, для которого определены методы, вызываемые при успешном выполнении или сбое операции. При асинхронном режиме выполнения, если аргумент responder имеет значение null , по окончании выполнения отправляется событие attach или error .
| |
encryptionKey:ByteArray (default = null ) — Ключ шифрования для файла базы данных. Если вызов метода attach() создает базу данных, эта база данных шифруется, а указанный ключ используется в качестве ключа шифрования базы данных. Если вызов этого метода присоединяет существующую зашифрованную базу данных, это значение должно совпадать с ключом шифрования базы данных, иначе произойдет ошибка. Если присоединяемая база данных не зашифрована или требуется создать незашифрованную базу данных, это значение должно быть null (по умолчанию).
Действительным считается ключ шифрования длиной 16 байтов. Базу данных в памяти зашифровать невозможно, поэтому этот параметр должен иметь значение Если при присоединении зашифрованной базы данных предоставленный ключ шифрования не совпадает с ключом шифрования базы данных, выдается исключение. В синхронном режиме выполнения выдается исключение SQLError. В асинхронном режиме выполнения отправляется событие SQLErrorEvent, а свойство Параметр |
События
attach: — Отправляется после успешного завершения операции.
| |
error: — Отправляется после сбоя операции в асинхронном режиме выполнения.
|
Выдает
ArgumentError — Когда параметр name является пустой строкой ("" ) или имеет значение null
| |
ArgumentError — Если параметр reference имеет значение, отличное от экземпляра flash.filesystem.File
| |
ArgumentError — Когда аргумент encryptionKey не имеет значение null и его свойство length не равно 16 байтам
| |
ArgumentError — Когда параметр reference имеет значение null , а аргумент encryptionKey не имеет значение null
| |
IllegalOperationError — Если экземпляр SQLConnection не подключен к базе данных (свойство connected имеет значение false ), или если в данный момент открыта транзакция (свойство inTransaction имеет значение true ).
| |
SQLError — если произошел сбой операции в синхронном режиме выполнения.
|
Связанные элементы API
begin | () | метод |
public function begin(option:String = null, responder:Responder = null):void
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0 |
Начинает транзакцию, в рамках которой в отношении базы данных подключения или сгруппированных баз данных выполняются инструкции SQL.
По умолчанию каждая инструкция SQL выполняется в рамках своей транзакции, которая завершается после успешного выполнения или сбоя инструкции. При создании транзакции с помощью метода begin()
создается новая ручная транзакция. После этого все инструкции SQL, выполненные применительно к экземпляру SQLConnection, находятся внутри транзакции, поэтому все действия и изменения, которые ими выполнены, можно зафиксировать (сделать постоянными) или откатить (отменить) не по одному, а только все одновременно.
Для завершения транзакции используется метод commit()
или rollback()
в зависимости от того, что необходимо сделать с изменениями, сделанными инструкциями из транзакции: сделать их постоянными или отменить.
Ступенчатые вызовы метода begin()
игнорируются. Можно создать точки сохранения, которые напоминают закладки внутри транзакции, вызвав метод setSavepoint()
. После этого можно частично сохранять или отменять выполнение инструкций SQL путем вызова методов releaseSavepoint()
и rollbackToSavepoint()
. Однако если транзакция запущена с помощью метода begin()
, изменения сохраняются в базе данных только после вызова метода commit()
.
Если подключение к базе данных закрывается при открытой транзакции, AIR автоматически выполняет откат транзакции. (Примечание. В AIR 1.1 и в предыдущих версиях при закрытии подключения открытая транзакция автоматически фиксируется.)
В транзакции могут быть как инструкции, выполняемые в одной базе данных, так и инструкции, выполняемые в различных подключенных базах данных.
Параметры
option:String (default = null ) — Указывает стратегию блокировки, используемую данной транзакцией. Может принимать значение одной из констант, определенных в классе SQLTransactionLockType:
Значение по умолчанию ( | |
responder:Responder (default = null ) — Объект, для которого определены методы, вызываемые при успешном выполнении или сбое операции. При асинхронном режиме выполнения, если аргумент responder имеет значение null , по окончании выполнения отправляется событие begin или error .
|
События
begin: — Отправляется после завершения операции.
| |
error: — Отправляется после сбоя операции в асинхронном режиме выполнения.
|
Выдает
IllegalOperationError — Если этот метод вызван, когда экземпляр SQLConnection не подключен к базе данных (свойство connected имеет значение false ).
| |
ArgumentError — Если указанный параметр не является одной из констант класса SQLTransactionLockType.
| |
SQLError — если произошел сбой операции в синхронном режиме выполнения.
|
Связанные элементы API
rollback()
setSavepoint()
releaseSavepoint()
rollbackToSavepoint()
flash.data.SQLTransactionLockType
Пример ( Использование этого примера )
INSERT
в рамках одной транзакции. Сначала добавляется строка в таблицу employees (сотрудники). Затем извлекается первичный ключ только что вставленной строки и используется для добавления строки в связанную таблицу phoneNumbers (номера телефонов).
package { import flash.data.SQLConnection; import flash.data.SQLResult; import flash.data.SQLStatement; import flash.display.Sprite; import flash.events.SQLErrorEvent; import flash.events.SQLEvent; import flash.filesystem.File; public class MultiInsertTransactionExample extends Sprite { private var conn:SQLConnection; private var insertEmployee:SQLStatement; private var insertPhoneNumber:SQLStatement; public function MultiInsertTransactionExample():void { // define where to find the database file var appStorage:File = File.applicationStorageDirectory; var dbFile:File = appStorage.resolvePath("ExampleDatabase.db"); // open the database connection conn = new SQLConnection(); conn.addEventListener(SQLErrorEvent.ERROR, errorHandler); conn.addEventListener(SQLEvent.OPEN, openHandler); conn.openAsync(dbFile); } // Called when the database is connected private function openHandler(event:SQLEvent):void { conn.removeEventListener(SQLEvent.OPEN, openHandler); // start a transaction conn.addEventListener(SQLEvent.BEGIN, beginHandler); conn.begin(); } // Called when the transaction begins private function beginHandler(event:SQLEvent):void { conn.removeEventListener(SQLEvent.BEGIN, beginHandler); // create and execute the first SQL statement: // insert an employee record insertEmployee = new SQLStatement(); insertEmployee.sqlConnection = conn; insertEmployee.text = "INSERT INTO employees (lastName, firstName, email) " + "VALUES (:lastName, :firstName, :email, :birthday)"; insertEmployee.parameters[":lastName"] = "Smith"; insertEmployee.parameters[":firstName"] = "Bob"; insertEmployee.parameters[":email"] = "bsmith@example.com"; insertEmployee.parameters[":birthday"] = new Date(1971, 8, 12); insertEmployee.addEventListener(SQLEvent.RESULT, insertEmployeeHandler); insertEmployee.addEventListener(SQLErrorEvent.ERROR, errorHandler); insertEmployee.execute(); } // Called after the employee record is inserted private function insertEmployeeHandler(event:SQLEvent):void { insertEmployee.removeEventListener(SQLEvent.RESULT, insertEmployeeHandler); insertEmployee.removeEventListener(SQLErrorEvent.ERROR, errorHandler); // Get the employee id of the newly created employee row var result:SQLResult = insertEmployee.getResult(); var employeeId:Number = result.lastInsertRowID; // Add a phone number to the related phoneNumbers table insertPhoneNumber = new SQLStatement(); insertPhoneNumber.sqlConnection = conn; insertPhoneNumber.text = "INSERT INTO phoneNumbers (employeeId, type, number) " + "VALUES (:employeeId, :type, :number)"; insertPhoneNumber.parameters[":employeeId"] = employeeId; insertPhoneNumber.parameters[":type"] = "Home"; insertPhoneNumber.parameters[":number"] = "(555) 555-1234"; insertPhoneNumber.addEventListener(SQLEvent.RESULT, insertPhoneNumberHandler); insertPhoneNumber.addEventListener(SQLErrorEvent.ERROR, errorHandler); insertPhoneNumber.execute(); } // Called after the phone number record is inserted private function insertPhoneNumberHandler(event:SQLEvent):void { insertPhoneNumber.removeEventListener(SQLEvent.RESULT, insertPhoneNumberHandler); insertPhoneNumber.removeEventListener(SQLErrorEvent.ERROR, errorHandler); // No errors so far, so commit the transaction conn.addEventListener(SQLEvent.COMMIT, commitHandler); conn.commit(); } // Called after the transaction is committed private function commitHandler(event:SQLEvent):void { conn.removeEventListener(SQLEvent.COMMIT, commitHandler); trace("Transaction complete"); } // Called whenever an error occurs private function errorHandler(event:SQLErrorEvent):void { // If a transaction is happening, roll it back if (conn.inTransaction) { conn.addEventListener(SQLEvent.ROLLBACK, rollbackHandler); conn.rollback(); } trace(event.error.message); trace(event.error.details); } // Called when the transaction is rolled back private function rollbackHandler(event:SQLEvent):void { conn.removeEventListener(SQLEvent.ROLLBACK, rollbackHandler); // add additional error handling, close the database, etc. } } }
DELETE
в рамках одной транзакции. Транзакция используется для удаления записи сотрудника. Сначала удаляются связанные строки в таблице phoneNumbers. Затем удаляется строка записи сотрудника из таблицы employees.
package { import flash.data.SQLConnection; import flash.data.SQLResult; import flash.data.SQLStatement; import flash.display.Sprite; import flash.events.SQLErrorEvent; import flash.events.SQLEvent; import flash.filesystem.File; public class MultiDeleteTransactionExample extends Sprite { private var conn:SQLConnection; private var deleteEmployee:SQLStatement; private var deletePhoneNumbers:SQLStatement; private var employeeIdToDelete:Number = 25; public function MultiDeleteTransactionExample():void { // define where to find the database file var appStorage:File = File.applicationStorageDirectory; var dbFile:File = appStorage.resolvePath("ExampleDatabase.db"); // open the database connection conn = new SQLConnection(); conn.addEventListener(SQLErrorEvent.ERROR, errorHandler); conn.addEventListener(SQLEvent.OPEN, openHandler); conn.openAsync(dbFile); } // Called when the database is connected private function openHandler(event:SQLEvent):void { conn.removeEventListener(SQLEvent.OPEN, openHandler); // start a transaction conn.addEventListener(SQLEvent.BEGIN, beginHandler); conn.begin(); } // Called when the transaction begins private function beginHandler(event:SQLEvent):void { conn.removeEventListener(SQLEvent.BEGIN, beginHandler); // Create and execute the first SQL statement: // Delete an employee's phone number records deletePhoneNumbers = new SQLStatement(); deletePhoneNumbers.sqlConnection = conn; deletePhoneNumbers.text = "DELETE FROM phoneNumbers " + "WHERE employeeId = :employeeId"; deletePhoneNumbers.parameters[":employeeId"] = employeeIdToDelete; deletePhoneNumbers.addEventListener(SQLEvent.RESULT, deletePhoneNumbersHandler); deletePhoneNumbers.addEventListener(SQLErrorEvent.ERROR, errorHandler); deletePhoneNumbers.execute(); } // Called after the phone number records are deleted private function deletePhoneNumbersHandler(event:SQLEvent):void { deletePhoneNumbers.removeEventListener(SQLEvent.RESULT, deletePhoneNumbersHandler); deletePhoneNumbers.removeEventListener(SQLErrorEvent.ERROR, errorHandler); deleteEmployee = new SQLStatement(); deleteEmployee.sqlConnection = conn; deleteEmployee.text = "DELETE FROM employees " + "WHERE employeeId = :employeeId"; deleteEmployee.parameters[":employeeId"] = employeeIdToDelete; deleteEmployee.addEventListener(SQLEvent.RESULT, deleteEmployeeHandler); deleteEmployee.addEventListener(SQLErrorEvent.ERROR, errorHandler); deleteEmployee.execute(); } // Called after the employee record is deleted private function deleteEmployeeHandler(event:SQLEvent):void { deleteEmployee.removeEventListener(SQLEvent.RESULT, deleteEmployeeHandler); deleteEmployee.removeEventListener(SQLErrorEvent.ERROR, errorHandler); // No errors so far, so commit the transaction conn.addEventListener(SQLEvent.COMMIT, commitHandler); conn.commit(); } // Called after the transaction is committed private function commitHandler(event:SQLEvent):void { conn.removeEventListener(SQLEvent.COMMIT, commitHandler); trace("Transaction complete"); } // Called whenever an error occurs private function errorHandler(event:SQLErrorEvent):void { // If a transaction is happening, roll it back if (conn.inTransaction) { conn.addEventListener(SQLEvent.ROLLBACK, rollbackHandler); conn.rollback(); } trace(event.error.message); trace(event.error.details); } // Called when the transaction is rolled back private function rollbackHandler(event:SQLEvent):void { conn.removeEventListener(SQLEvent.ROLLBACK, rollbackHandler); // add additional error handling, close the database, etc. } } }
cancel | () | метод |
public function cancel(responder:Responder = null):void
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0 |
Прерывает все инструкции SQL, выполняемые в текущий момент в базах данных, подключенных к данному экземпляру SQLConnection. Этот метод используется для завершения продолжительных или вышедших из-под контроля запросов.
Если в момент вызова метода cancel()
выполняются инструкции, этот метод прерывает их выполнение и выполняет откат всех незавершенных обновлений или транзакций. Если в текущий момент нет выполняемых инструкций, этот метод выполняет откат открытой транзакции, в противном случае ничего не происходит.
Параметры
responder:Responder (default = null ) — Объект, для которого определены методы, вызываемые при успешном выполнении или сбое операции. При асинхронном режиме выполнения, если аргумент responder имеет значение null , по окончании выполнения отправляется событие cancel или error .
|
События
cancel: — Отправляется после успешного завершения операции.
| |
error: — Отправляется после сбоя операции в асинхронном режиме выполнения.
|
Выдает
IllegalOperationError — Если этот метод вызван, когда экземпляр SQLConnection не подключен к базе данных (свойство connected имеет значение false ).
| |
SQLError — Если произошел сбой операции в синхронном режиме выполнения.
|
Связанные элементы API
close | () | метод |
public function close(responder:Responder = null):void
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0 |
Закрывает текущее подключение базы данных. Также происходит отсоединение всех подключенных баз данных.
Если во время вызова метода close()
есть открытая транзакция, она отменяется. При очистке экземпляра SQLConnection среда выполнения автоматически вызывает метод close()
, включая те случаи, когда приложение AIR закрыто, а экземпляр SQLConnection по-прежнему подключен к базе данных.
Параметры
responder:Responder (default = null ) — Объект, для которого определены методы, вызываемые при успешном выполнении или сбое операции. При асинхронном режиме выполнения, если аргумент responder имеет значение null , по окончании выполнения отправляется событие close или error .
|
События
close: — Отправляется после успешного завершения операции.
| |
error: — Отправляется после сбоя операции в асинхронном режиме выполнения.
|
Выдает
SQLError — Если произошел сбой операции в синхронном режиме выполнения.
|
commit | () | метод |
public function commit(responder:Responder = null):void
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0 |
Фиксирует существующую транзакцию, в результате чего все действия, выполненные ее инструкциями, применяются к базе данных окончательно.
Промежуточные точки сохранения, выполняющие роль закладок в транзакции, можно создать с помощью метода setSavepoint()
. С помощью точек сохранения можно сохранять фрагменты транзакции путем вызова метода releaseSavepoint()
или отменять фрагменты транзакции с помощью метода rollbackToSavepoint()
. Однако если транзакция запущена с помощью метода begin()
, изменения сохраняются в базе данных только после завершения всей транзакции с помощью метода commit()
.
Если в транзакции используются точки сохранения, инструкции, отмененные с помощью метода rollbackToSavepoint()
, не сохраняются в базе данных вместе с транзакцией. Инструкции, сохраненные с помощью метода releaseSavepoint()
или не отмененные в процессе выполнения, сохраняются в базе данных.
Параметры
responder:Responder (default = null ) — Объект, для которого определены методы, вызываемые при успешном выполнении или сбое операции. При асинхронном режиме выполнения, если аргумент responder имеет значение null , по окончании выполнения отправляется событие commit или error .
|
События
commit: — Отправляется после успешного завершения операции.
| |
error: — Отправляется после сбойного завершения операции.
|
Выдает
IllegalOperationError — Если экземпляр SQLConnection не подключен к базе данных (свойство connected имеет значение false ), или если в текущий момент нет открытых транзакций (свойство inTransaction имеет значение false ).
|
Связанные элементы API
compact | () | метод |
public function compact(responder:Responder = null):void
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0 |
Освобождает все неиспользуемое место в базе данных. После удаления объекта (таблицы, индекса или триггера) из базы данных остается пустое место. Из-за этого файл базы данных становится больше, чем необходимо, но операции INSERT
выполняются быстрее. Со временем из-за операций INSERT
и DELETE
структура файла базы данных становится фрагментированной, из-за чего замедляется доступ к содержимому базы данных. Данный метод сжимает файл базы данных, уничтожая пустые страницы и располагая данные таблиц без разрывов, а в противном случае — очищает структуру файла базы данных.
Операцию compact()
невозможно выполнить для файла подключенной базы данных, выполнение возможно только для файла главной (исходной) базы данных, который открыт с помощью экземпляра SQLConnection. Эта операция завершается сбоем, если есть активная транзакция, и не выполняет никаких действий применительно к базе данных, которая хранится в оперативной памяти.
Параметры
responder:Responder (default = null ) — Объект, для которого определены методы, вызываемые при успешном выполнении или сбое операции. При асинхронном режиме выполнения, если аргумент responder имеет значение null , по окончании выполнения отправляется событие compact или error .
|
События
compact: — Отправляется после успешного завершения операции.
| |
error: — Отправляется после сбоя операции в асинхронном режиме выполнения.
|
Выдает
IllegalOperationError — Если экземпляр SQLConnection не подключен к базе данных (свойство connected имеет значение false ), или если в данный момент открыта транзакция (свойство inTransaction имеет значение true ).
| |
SQLError — Если произошел сбой операции в синхронном режиме выполнения.
|
deanalyze | () | метод |
public function deanalyze(responder:Responder = null):void
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0 |
Удаляет все статистические данные, созданные методом analyze()
.
Так как статистика, создаваемая методом analyze()
, занимает место в базе данных, с помощью вызова метода deanalyze()
можно его освободить, например после удаления некоторых индексов или таблиц.
Данная операция не включена в активную транзакцию.
Параметры
responder:Responder (default = null ) — Объект, для которого определены методы, вызываемые при успешном выполнении или сбое операции. При асинхронном режиме выполнения, если аргумент responder имеет значение null , по окончании выполнения отправляется событие deanalyze или error .
|
События
deanalyze: — Отправляется после успешного завершения операции.
| |
error: — Отправляется после сбоя операции в асинхронном режиме выполнения.
|
Выдает
IllegalOperationError — Если этот метод вызван, когда экземпляр SQLConnection не подключен к базе данных (свойство connected имеет значение false ).
| |
SQLError — Если произошел сбой операции в синхронном режиме выполнения.
|
Связанные элементы API
detach | () | метод |
public function detach(name:String, responder:Responder = null):void
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0 |
Отсоединяет дополнительную базу данных, ранее подключенную к экземпляру SQLConnection с помощью метода attach()
. Одна и та же база данных может быть подключена несколько раз под разными именами, поэтому, если отсоединить одно подключение, остальные продолжат работать. Базу данных нельзя отсоединить, если подключение содержит открытую транзакцию (если свойство inTransaction
имеет значение true
).
Параметры
name:String — Заданное имя отсоединяемой базы данных.
| |
responder:Responder (default = null ) — Объект, для которого определены методы, вызываемые при успешном выполнении или сбое операции. При асинхронном режиме выполнения, если аргумент responder имеет значение null , по окончании выполнения отправляется событие detach или error .
|
События
detach: — Отправляется после успешного завершения операции.
| |
error: — Отправляется после сбоя операции в асинхронном режиме выполнения.
|
Выдает
ArgumentError — Если аргумент name имеет значение null или содержит пустую строку ("" ).
| |
IllegalOperationError — Если этот метод вызван, когда экземпляр SQLConnection не подключен к базе данных (свойство connected имеет значение false ) или в рамках экземпляра подключения SQLConnection открыта транзакция (свойство inTransaction имеет значение true ).
| |
SQLError — Если произошел сбой операции в синхронном режиме выполнения.
|
Связанные элементы API
getSchemaResult | () | метод |
public function getSchemaResult():SQLSchemaResult
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0 |
Обеспечивает доступ к результату вызова метода loadSchema()
. Метод getSchemaResult()
работает как очередь результатов с порядком доступа к элементам «первым поступил — первым обслужен» (FIFO, First In — First Out). Каждый раз после завершения вызова метода loadSchema()
(каждый раз, когда в асинхронном режиме выполнения отправляется событие schema
) в очередь добавляется новый объект SQLSchemaResult. Каждый раз при вызове метода getSchemaResult()
возвращается и удаляется из очереди самый первый результат (тот, который был добавлен в очередь первым). Если в очереди не осталось объектов, метод getSchemaResult()
возвращает null
.
Если подключение базы данных закрыто, метод возвращает null
.
SQLSchemaResult |
Связанные элементы API
loadSchema | () | метод |
public function loadSchema(type:Class = null, name:String = null, database:String = "main", includeColumnSchema:Boolean = true, responder:Responder = null):void
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0 |
Загружает сведения о схеме данных из присоединенной или любой подключенной базы данных. Схема данных отражает структуру таблиц, столбцов, индексов и триггеров базы данных.
Для обращения к загруженной схеме данных используется метод SQLConnection.getSchemaResult()
.
В асинхронном режиме выполнения событие schema
отправляется в случае успешного завершения операции. В случае сбоя операции отправляется событие error
.
Сочетание значений параметров type
и name
определяет тип данных схемы, создаваемой с помощью метода loadSchema()
, а следовательно, и значения свойств создаваемого экземпляра SQLSchemaResult. В нижеприведенной таблице перечислены допустимые пары аргументов type
и name
и формируемые в результате данные схемы:
аргумент type | аргумент name | Объекты, для которых извлекаются данные схемы: |
---|---|---|
null | null | все объекты базы данных (все таблицы, представления, триггеры и индексы) |
SQLIndexSchema | null | все индексы базы данных |
SQLIndexSchema | допустимое имя таблицы | все индексы, определенные для заданной таблицы |
SQLIndexSchema | допустимое имя индекса | заданный индекс |
SQLTableSchema | null | все таблицы базы данных |
SQLTableSchema | допустимое имя таблицы | заданная таблица |
SQLTriggerSchema | null | все триггеры базы данных |
SQLTriggerSchema | допустимое имя таблицы | все триггеры, связанные с заданной таблицей |
SQLTriggerSchema | допустимое имя представления | все триггеры, связанные с заданным представлением |
SQLTriggerSchema | допустимое имя триггера | заданный триггер |
SQLViewSchema | null | все представления базы данных |
SQLViewSchema | допустимое имя представления | заданное представление |
Если сочетание аргументов type
и name
не соответствует ни одному из перечисленных, в асинхронном режиме выполнения отправляется событие error
, а в синхронном — генерируется исключение. Например, если аргумент type
имеет значение SQLViewSchema
, а аргумент name
содержит имя таблицы (вместо имени представления), возникнет ошибка, указывающая на отсутствие в базе данных объекта указанного типа с заданным именем.
Если база данных пуста (не содержит таблиц, представлений, триггеров или индексов), вызов метода loadSchema()
приведет к ошибке.
Параметры
type:Class (default = null ) — Указывает тип загружаемой схемы данных. Значение null (по умолчанию) обозначает, что должны быть загружены все данные схемы. Если в качестве этого параметра указать значение, отличное от null , это сузит область полученной в результате схемы данных, при этом из результатов будут удалены все потенциально ненужные сведения, а сама операция станет более эффективной. Значение должно представлять собой имя одного из следующих классов:
| |
name:String (default = null ) — Указывают, для каких ресурсов загружается схема данных. Использование данного значения в зависимости от заданного аргумента type . Обычно это значение представляет собой имя объекта базы данных, например, имя таблицы, индекса, представления и т. д. Если оно задано, то в результат попадает только схема объекта базы данных с указанным именем.
Если задано недопустимое значение, отправляется событие Если аргумент | |
database:String (default = "main ") — Имя базы данных, для которой загружается схема данных. Если задано недопустимое значение, отправляется событие error .
| |
includeColumnSchema:Boolean (default = true ) — Указывает, содержит ли в результат сведения о схеме столбцов таблиц и представлений.
| |
responder:Responder (default = null ) — Объект, для которого определены методы, вызываемые при успешном выполнении или сбое операции. При асинхронном режиме выполнения, если аргумент responder имеет значение null , по окончании выполнения отправляется событие schema или error .
|
События
schema: — Отправляется после успешного завершения операции.
| |
error: — Отправляется после сбойного завершения операции.
|
Выдает
IllegalOperationError — Если данный метод вызывается, когда экземпляр SQLConnection не подключен к базе данных (свойство connected имеет значение false ).
| |
ArgumentError — Когда указанное значение аргумента type представляет собой недопустимый тип.
| |
SQLError — Если при использовании синхронного режима выполнения в качестве параметров имени или базы данных указано недопустимое значение.
|
Связанные элементы API
open | () | метод |
public function open(reference:Object = null, openMode:String = "create", autoCompact:Boolean = false, pageSize:int = 1024, encryptionKey:ByteArray = null):void
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0 |
Открывает синхронное подключение к файлу базы данных с заданным местоположением в файловой системе, создает и открывает новый файл базы данных с заданным местоположением или создает и открывает базу данных в оперативной памяти. Операции создания и открытия базы данных, а также все остальные операции, выполняемые с использованием данного экземпляра SQLConnection, выполняются синхронно при открытии базы данных с помощью этого метода. Это включает в себя выполнение инструкций и другие операции, выполняемые экземпляром SQLStatement, связанным с данным экземпляром SQLConnection. Для асинхронного выполнения операций вместо него подключение базы данных следует открывать с помощью метода openAsync()
.
Подключив базу данных, используйте экземпляр SQLStatement для выполнения инструкций SQL. Операции на уровне базы данных, такие как начало или завершение транзакций, загрузка данных схемы и другие, выполняются при помощи экземпляра SQLConnection.
Базе данных, присоединенной с помощью метода open()
, автоматически назначается имя main. Его можно использовать для явного указания имен таблиц в операторах SQL в формате [database-name]. [table-name]
.
Параметры
reference:Object (default = null ) — Местоположение открытого файла базы данных. Значение должно быть экземпляром класса flash.filesystem.File. Если параметр имеет значение null , то создается и подключается база данных в оперативной памяти.
| |
openMode:String (default = "create ") — Указывает режим, в котором будет открыта база данных. Может принимать значение любой константы, определенной в классе SQLMode. Значением по умолчанию является SQLMode.CREATE , которое указывает, что в случае отсутствия файла базы данных с заданным местоположением он будет создан. Если параметр openMode имеет значение SQLMode.READ , а указанный файл отсутствует, возникает ошибка. Этот параметр игнорируется, если параметр reference имеет значение null .
| |
autoCompact:Boolean (default = false ) — Указывает, выполняется ли в базе данных автоматическое занятие неиспользуемого места. Этот параметр допустим только при создании новой базы данных или при открытии файла базы данных, в которой нет созданных таблиц. По умолчанию место, которое освобождается при удалении данных, остается в базе данных и при необходимости используется повторно. Если этому параметру задать значение true , свободное место будет повторно использоваться базой данных автоматически. Это может со временем привести к фрагментации данных в базе данных и отрицательно сказаться на производительности, потому что каждый раз при записи данных в базу потребуется дополнительная обработка. В любое время можно освободить неиспользуемое пространство файла базы данных и выполнить дефрагментацию этого файла с помощью метода compact() .
Этот параметр игнорируется, если параметр | |
pageSize:int (default = 1024 ) — Указывает размер страницы базы данных (в байтах). Этот параметр допустим только при создании новой базы данных или при открытии файла базы данных, в которой нет созданных таблиц. Значением должна быть степень двойки, которая больше или равна 512, но меньше или равна 32768. Значением по умолчанию является 1024 байта. Данное значение можно задать только до создания таблиц. При попытке изменить это значение после создания таблиц будет выдана ошибка.
| |
encryptionKey:ByteArray (default = null ) — Ключ шифрования для файла базы данных. Если вызов метода open() создает базу данных, эта база данных шифруется, а указанный ключ используется в качестве ключа шифрования базы данных. Если вызов этого метода открывает зашифрованную базу данных, это значение должно совпадать с ключом шифрования базы данных, иначе произойдет ошибка. Если открываемая база данных не зашифрована или требуется создать незашифрованную базу данных, это значение должно быть null (по умолчанию), иначе произойдет ошибка.
Действительным считается ключ шифрования длиной 16 байтов. Базу данных в памяти зашифровать невозможно, поэтому этот параметр должен иметь значение Если при открытии зашифрованной базы данных предоставленный ключ шифрования не совпадает с ключом шифрования базы данных, выдается исключение SQLError. В таком случае свойство Параметр |
События
open: — Отправляется после успешного завершения операции.
|
Выдает
IllegalOperationError — Если экземпляр SQLConnection уже имеет открытое подключение к базе данных (свойство connected имеет значение true ).
| |
SQLError — При сбое операции. Соединение никогда не остается открытым после сбоя операции.
| |
ArgumentError — Если параметр reference имеет значение, отличное от экземпляра flash.filesystem.File
| |
ArgumentError — Когда аргумент encryptionKey не имеет значение null и его свойство length не равно 16 байтам
| |
ArgumentError — Когда параметр reference имеет значение null , а аргумент encryptionKey не имеет значение null
| |
ArgumentError — Если задан недопустимый параметр pageSize . Включает передачу размера страницы, если используется режим SQLMode.READ .
|
Связанные элементы API
openAsync | () | метод |
public function openAsync(reference:Object = null, openMode:String = "create", responder:Responder = null, autoCompact:Boolean = false, pageSize:int = 1024, encryptionKey:ByteArray = null):void
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0 |
Открывает асинхронное подключение к файлу базы данных с заданным местоположением в файловой системе, создает и открывает новый файл базы данных с заданным местоположением или создает и открывает базу данных в оперативной памяти. Операции создания и открытия базы данных, а также все остальные операции, выполняемые с использованием данного экземпляра SQLConnection, выполняются асинхронно при открытии базы данных с помощью этого метода. Это включает в себя выполнение инструкций и другие операции, выполняемые экземпляром SQLStatement, связанным с данным экземпляром SQLConnection. Для синхронного выполнения операций вместо него подключение базы данных следует открывать с помощью метода open()
.
Подключив базу данных, используйте экземпляр SQLStatement для выполнения инструкций SQL. Операции на уровне базы данных, такие как начало или завершение транзакций, загрузка данных схемы и другие, выполняются при помощи экземпляра SQLConnection.
Базе данных, присоединенной с помощью метода openAsync()
, автоматически назначается имя main, которое можно использовать для явного указания имен таблиц в операторах SQL в формате [database-name]. [table-name]
.
Параметры
reference:Object (default = null ) — Местоположение открытого файла базы данных. Значение должно быть экземпляром класса flash.filesystem.File. Если параметр имеет значение null , то создается и подключается база данных в оперативной памяти.
| |
openMode:String (default = "create ") — Указывает режим, в котором будет открыта база данных. Может принимать значение любой константы, определенной в классе SQLMode. Значением по умолчанию является SQLMode.CREATE , которое указывает, что в случае отсутствия файла базы данных с заданным местоположением он будет создан. Если параметр openMode имеет значение SQLMode.READ , а указанный файл отсутствует, отправляется событие ошибки. Этот параметр игнорируется, если параметр reference имеет значение null .
| |
responder:Responder (default = null ) — Объект, для которого определены методы, вызываемые при успешном выполнении или сбое операции. Если аргумент responder имеет значение null , по окончании выполнения отправляется событие open или error .
| |
autoCompact:Boolean (default = false ) — Указывает, выполняется ли в базе данных автоматическое занятие неиспользуемого места. Этот параметр допустим только при создании новой базы данных или при открытии файла базы данных, в которой нет созданных таблиц. По умолчанию место, которое освобождается при удалении данных, остается в базе данных и при необходимости используется повторно. Если этому параметру задать значение true , свободное место будет повторно использоваться базой данных автоматически. Это может со временем привести к фрагментации данных в базе данных и отрицательно сказаться на производительности, потому что каждый раз при записи данных в базу потребуется дополнительная обработка. Чтобы в любое время принудительно восстановить неиспользуемое место в файле базы данных и дефрагментировать этот файл, используется метод compact() .
Этот параметр игнорируется, если параметр | |
pageSize:int (default = 1024 ) — Указывает размер страницы базы данных (в байтах). Этот параметр допустим только при создании новой базы данных или при открытии файла базы данных, в которой нет созданных таблиц. Значением должна быть степень двойки, которая больше или равна 512, но меньше или равна 32768. Значением по умолчанию является 1024 байта. Данное значение можно задать только до создания таблиц. При попытке изменить это значение после создания таблиц будет выдана ошибка.
| |
encryptionKey:ByteArray (default = null ) — Ключ шифрования для файла базы данных. Если вызов метода openAsync() создает базу данных, эта база данных шифруется, а указанный ключ используется в качестве ключа шифрования базы данных. Если вызов этого метода открывает зашифрованную базу данных, это значение должно совпадать с ключом шифрования базы данных, иначе произойдет ошибка. Если открываемая база данных не зашифрована, это значение должно быть null (по умолчанию), иначе произойдет ошибка.
Действительным считается ключ шифрования длиной 16 байтов. Базу данных в памяти зашифровать невозможно, поэтому этот параметр должен иметь значение Если при открытии зашифрованной базы данных предоставленный ключ шифрования не совпадает с ключом шифрования базы данных, отправляется событие SQLErrorEvent. Свойство Параметр |
События
open: — Отправляется после успешного завершения операции.
| |
error: — Отправляется после сбоя операции. Соединение никогда не остается открытым после сбоя операции.
|
Выдает
IllegalOperationError — Если экземпляр SQLConnection уже имеет открытое подключение к базе данных (свойство connected имеет значение true ).
| |
ArgumentError — Если параметр reference имеет значение, отличное от экземпляра flash.filesystem.File
| |
ArgumentError — Когда аргумент encryptionKey не имеет значение null и его свойство length не равно 16 байтам
| |
ArgumentError — Когда параметр reference имеет значение null , а аргумент encryptionKey не имеет значение null
| |
ArgumentError — Если задан недопустимый параметр pageSize . Включает передачу размера страницы, если используется режим SQLMode.READ .
|
Связанные элементы API
reencrypt | () | метод |
public function reencrypt(newEncryptionKey:ByteArray, responder:Responder = null):void
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.5 |
Изменяет ключ шифрования зашифрованной базы данных. Этот метод влияет на ключ шифрования только главной базы данных (базы данных, подключенной с помощью метода open()
или openAsync()
). Метод reencrypt()
можно вызвать только для базы данных, которая была зашифрована при создании. После создания зашифрованной базы данных она не может быть расшифрована. Таким же образом база данных, созданная без шифрования, не может быть впоследствии зашифрована.
Операция повторного шифрования выполняется в собственной транзакции. Если процесс повторного шифрования прерывается, база данных выполняет откат транзакции и ключ шифрования не меняется.
Параметры
newEncryptionKey:ByteArray — Объект ByteArray, содержащий новый ключ шифрования базы данных. Действительным считается ключ шифрования длиной 16 байтов.
| |
responder:Responder (default = null ) — Объект, для которого определены методы, вызываемые при успешном выполнении или сбое операции. Если аргумент responder имеет значение null , по окончании выполнения отправляется событие reencrypt или error .
|
События
reencrypt: — Отправляется после успешного завершения операции.
| |
error: — Отправляется после сбоя операции.
|
Выдает
ArgumentError — Когда значение newEncryptionKey имеет значение null или его свойство length не равно 16 байтам.
| |
IllegalOperationError — Если подключение не открыто или имеется открытая транзакция.
| |
SQLError — Если произошел сбой операции в синхронном режиме выполнения.
|
Связанные элементы API
releaseSavepoint | () | метод |
public function releaseSavepoint(name:String = null, responder:Responder = null):void
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 2 |
Этот метод сохраняет операции SQL, выполненные с момента создания последней точки сохранения или именованной точки сохранения.
Обратите внимание, что изменения сохраняются в базе данных только после сохранения всей транзакции. Если транзакция запущена с помощью метода begin()
, то для сохранения всей транзакции необходимо вызвать метод commit()
. Если транзакция запущена с помощью метода setSavepoint()
при inTransaction
со значением false
, завершить всю транзакцию можно, вызвав метод commit()
, releaseSavepoint()
или rollbackToSavepoint()
для первой точки сохранения транзакции.
Если код вызывает метод rollback()
, отменяются все изменения, выполненные в ходе транзакции, независимо от того, вызывался ли метод releaseSavepoint()
перед отменой транзакции.
Если этот метод вызывается без параметров (или со значением null
для параметра name
), сохраняются все изменения базы данных, внесенные с момента создания последней безымянной точки сохранения (путем вызова метода setSavepoint()
без параметра name
). Например, если метод setSavepoint()
вызывался три раза, создано три точки сохранения. Вызов метода releaseSavepoint()
для этой точки приводит к сохранению операций SQL, выполненных после создания третьей (самой последней) точки сохранения.
Если задано значение для параметра name
, этот метод сохраняет все операции SQL, выполненные после создания точки сохранения с указанным именем. Если после указанной точки сохранения были созданы другие, также сохраняются операции, выполненные после создания последующих точек сохранения.
Когда точка сохранения снимается или отменяется, она удаляется вместе со всеми последующими точками сохранения. Если код выполняет дополнительные операции SQL после вызова метода releaseSavepoint()
или rollbackToSavepoint()
для удаления точки сохранения, эти операции относятся к последней из оставшихся точек сохранения. (Другими словами, они относятся к точке сохранения, созданной непосредственно перед удаленной.) Если точек сохранения не остается, операции относятся к основной транзакции.
Параметры
name:String (default = null ) — String — имя точки сохранения, после которой необходимо сохранить все операции SQL. Если значение не задано или этот параметр имеет значение null (по умолчанию), используется последняя безымянная точка сохранения (созданная вызовом метода setSavepoint() без значения name ). В качестве значения name не может использоваться пустая строка ("" ).
| |
responder:Responder (default = null ) — Responder — объект, для которого определены методы, вызываемые при успешном выполнении или сбое операции. При асинхронном режиме выполнения, если аргумент responder имеет значение null , по окончании выполнения отправляется событие releaseSavepoint или error .
|
События
releaseSavepoint: — Отправляется после успешного завершения операции.
| |
error: — Отправляется после сбоя операции в асинхронном режиме выполнения.
|
Выдает
ArgumentError — когда параметр name является пустой строкой ("" ).
| |
IllegalOperationError — Если экземпляр SQLConnection не подключен к базе данных (свойство connected имеет значение false ), или если в текущий момент нет открытых транзакций (свойство inTransaction имеет значение false ).
| |
SQLError — Если произошел сбой операции в синхронном режиме выполнения.
|
Связанные элементы API
removeEventListener | () | метод |
override public function removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0 |
Удаляет прослушиватель из объекта EventDispatcher. При отсутствии прослушивателя, зарегистрированного с объектом EventDispatcher, вызов этого метода не оказывает эффекта.
Параметры
type:String — Тип события.
| |
listener:Function — Удаляемый объект прослушивателя.
| |
useCapture:Boolean (default = false ) —
Указывает, был ли прослушиватель зарегистрирован для фазы захвата или целевой фазы и фазы восходящей цепочки. Если прослушиватель зарегистрирован и для фазы захвата, и для фаз цели и восходящей цепочки, метод removeEventListener() необходимо вызвать дважды: один раз с useCapture() в значении true , а другой раз с useCapture() в значении false .
|
rollback | () | метод |
public function rollback(responder:Responder = null):void
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0 |
Выполняет откат существующей транзакции, созданной с помощью метода begin()
, то есть все изменения, внесенные любыми инструкциями SQL в рамках данной транзакции, отменяются.
Промежуточные точки сохранения в транзакции можно помечать с помощью метода setSavepoint()
. С помощью точек сохранения можно сохранять фрагменты транзакции вызовом метода releaseSavepoint()
или отменять фрагменты транзакции вызовом метода rollbackToSavepoint()
. Однако вызов метода rollback()
навсегда отменяет все изменения, выполненные в ходе транзакции, независимо от того, снимались и сохранялись ли отдельные точки сохранения перед отменой транзакции.
Параметры
responder:Responder (default = null ) — Объект, для которого определены методы, вызываемые при успешном выполнении или сбое операции. При асинхронном режиме выполнения, если аргумент responder имеет значение null , по окончании выполнения отправляется событие rollback или error .
|
События
rollback: — Отправляется после успешного завершения операции.
| |
error: — Отправляется после сбоя операции в асинхронном режиме выполнения.
|
Выдает
IllegalOperationError — Если экземпляр SQLConnection не подключен к базе данных (свойство connected имеет значение false ), или если в текущий момент нет открытых транзакций (свойство inTransaction имеет значение false ).
| |
SQLError — Если произошел сбой операции в синхронном режиме выполнения.
|
Связанные элементы API
rollbackToSavepoint | () | метод |
public function rollbackToSavepoint(name:String = null, responder:Responder = null):void
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 2 |
Отменяет операции SQL, выполненные с момента создания последней точки сохранения или именованной точки сохранения.
Обратите внимание, что если вся транзакция сохраняется с помощью метода commit()
, все изменения, выполненные в ходе транзакции и не отмененные с помощью метода rollbackToSavepoint()
, сохраняются в базе данных. Кроме того, метод rollback()
навсегда отменяет все изменения, независимо от того, снимались (сохранялись) и отменялись ли отдельные точки сохранения до отмены транзакции.
Если этот метод вызывается без параметров (или со значением null
для параметра name
), отменяются все изменения базы данных, внесенные с момента создания последней безымянной точки сохранения (путем вызова метода setSavepoint()
без параметра name
).
Если задано значение для параметра name
, этот метод отменяет все операции SQL, выполненные после создания точки сохранения с указанным именем. Если после указанной точки сохранения были созданы другие, также отменяются операции, выполненные после создания последующих точек сохранения.
Когда точка сохранения снимается или отменяется, она удаляется вместе со всеми последующими точками сохранения. Если код выполняет дополнительные операции SQL после вызова метода releaseSavepoint()
или rollbackToSavepoint()
для удаления точки сохранения, эти операции относятся к последней из оставшихся точек сохранения. (Другими словами, они относятся к точке сохранения, созданной непосредственно перед удаленной.) Если точек сохранения не остается, операции относятся к основной транзакции.
Параметры
name:String (default = null ) — String — имя точки сохранения, до которой требуется выполнить откат изменений базы данных. Если значение не задано или этот параметр имеет значение null (по умолчанию), используется последняя безымянная точка сохранения (созданная вызовом метода setSavepoint() без значения name ). В качестве значения name не может использоваться пустая строка ("" ).
| |
responder:Responder (default = null ) — Responder — объект, для которого определены методы, вызываемые при успешном выполнении или сбое операции. При асинхронном режиме выполнения, если аргумент responder имеет значение null , по окончании выполнения отправляется событие rollbackToSavepoint или error .
|
События
rollbackToSavepoint: — Отправляется после успешного завершения операции.
| |
error: — Отправляется после сбоя операции в асинхронном режиме выполнения.
|
Выдает
ArgumentError — когда параметр name является пустой строкой ("" ).
| |
IllegalOperationError — Если экземпляр SQLConnection не подключен к базе данных (свойство connected имеет значение false ), или если в текущий момент нет открытых транзакций (свойство inTransaction имеет значение false ).
| |
SQLError — Если произошел сбой операции в синхронном режиме выполнения.
|
Связанные элементы API
setSavepoint | () | метод |
public function setSavepoint(name:String = null, responder:Responder = null):void
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 2 |
Создается точка сохранения, выполняющая функцию закладки в транзакции базы данных. Точка сохранения представляет собой точку в пределах транзакции. Набор операций SQL, выполненных между двумя точками сохранения, можно сохранять или отменять отдельно от других операций с помощью методов releaseSavepoint()
и rollbackToSavepoint()
. Таким образом, использование точек сохранения позволяет обрабатывать набор операций SQL как вложенную транзакцию.
Если вызывается метод setSavepoint()
, а транзакция еще не открыта с помощью метода begin()
, то данный метод запускает транзакцию и создает точку сохранения в ее начале. Если транзакция уже открыта, то при вызове метода setSavepoint()
создается точка сохранения в пределах транзакции.
Обратите внимание, что изменения сохраняются в базе данных только после сохранения всей транзакции. Если транзакция запущена с помощью метода begin()
, то для сохранения всей транзакции необходимо вызвать метод commit()
. Если транзакция запущена вызовом метода setSavepoint()
, в котором inTransaction
имеет значение false
, то завершить всю транзакцию можно с помощью метода commit()
. Транзакция также завершается автоматически, когда вызывается метод releaseSavepoint()
или rollbackToSavepoint()
для точки сохранения, созданной в начале транзакции.
Точке сохранения можно присвоить имя, задав значение для параметра name
. Это позволяет сохранить или отменить все изменения, внесенные после создания определенной точки сохранения. Если имя не задано (по умолчанию), создается безымянная точка сохранения.
Когда точка сохранения снимается или отменяется, она удаляется вместе со всеми последующими точками сохранения. Если код выполняет дополнительные операции SQL после вызова метода releaseSavepoint()
или rollbackToSavepoint()
для удаления точки сохранения, эти операции относятся к последней из оставшихся точек сохранения. (Другими словами, они относятся к точке сохранения, созданной непосредственно перед удаленной.) Если точек сохранения не остается, операции относятся к основной транзакции.
Параметры
name:String (default = null ) — String — имя точки сохранения. Если значение не задано или параметр имеет значение null (по умолчанию), то следующий вызов метода releaseSavepoint() или rollbackToSavepoint() без параметра name сохраняет или отменяет операции SQL, выполненные после создания безымянной точки сохранения.
Если указанное имя дублирует имя предшествующей точки сохранения, следующий вызов метода В качестве значения | |
responder:Responder (default = null ) — Responder — объект, для которого определены методы, вызываемые при успешном выполнении или сбое операции. При асинхронном режиме выполнения, если аргумент responder имеет значение null , по окончании выполнения отправляется событие setSavepoint или error .
|
События
setSavepoint: — Отправляется после успешного завершения операции.
| |
error: — Отправляется после сбоя операции в асинхронном режиме выполнения.
|
Выдает
ArgumentError — когда параметр name является пустой строкой ("" ).
| |
IllegalOperationError — Если данный метод вызывается, когда экземпляр SQLConnection не подключен к базе данных (свойство connected имеет значение false ).
| |
SQLError — Если произошел сбой операции в синхронном режиме выполнения.
|
Связанные элементы API
analyze | Событие |
flash.events.SQLEvent
свойство SQLEvent.type =
flash.events.SQLEvent.ANALYZE
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0 |
Отправляется при успешном завершении операции analyze()
.
SQLEvent.ANALYZE
определяет значение свойства type
объекта события analyze
. Этот тип события отправляется, когда успешно завершается выполнение метода SQLConnection.analyze()
. Объект события analyze
имеет следующие свойства:
Свойство | Значение |
---|---|
bubbles | false |
cancelable | false ; поведение по умолчанию, подлежащее отмене, не определено. |
currentTarget | Объект, активно обрабатывающий объект Event с помощью прослушивателя событий. |
target | Объект SQLConnection, выполнивший операцию. |
Связанные элементы API
attach | Событие |
flash.events.SQLEvent
свойство SQLEvent.type =
flash.events.SQLEvent.ATTACH
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0 |
Отправляется при успешном вызове метода attach()
.
SQLEvent.ATTACH
определяет значение свойства type
объекта события attach
. Этот тип события отправляется, когда успешно завершается выполнение метода SQLConnection.attach()
. Объект события attach
имеет следующие свойства.
Свойство | Значение |
---|---|
bubbles | false |
cancelable | false ; поведение по умолчанию, подлежащее отмене, не определено. |
currentTarget | Объект, активно обрабатывающий объект Event с помощью прослушивателя событий. |
target | Объект SQLConnection, выполнивший операцию. |
Связанные элементы API
begin | Событие |
flash.events.SQLEvent
свойство SQLEvent.type =
flash.events.SQLEvent.BEGIN
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0 |
Отправляется при успешном вызове метода begin()
.
SQLEvent.BEGIN
определяет значение свойства type
объекта события begin
. Этот тип события отправляется, когда успешно завершается выполнение метода SQLConnection.begin()
. Объект события begin
имеет следующие свойства.
Свойство | Значение |
---|---|
bubbles | false |
cancelable | false ; поведение по умолчанию, подлежащее отмене, не определено. |
currentTarget | Объект, активно обрабатывающий объект Event с помощью прослушивателя событий. |
target | Объект SQLConnection, выполнивший операцию. |
Связанные элементы API
cancel | Событие |
flash.events.SQLEvent
свойство SQLEvent.type =
flash.events.SQLEvent.CANCEL
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0 |
Отправляется при успешном вызове метода cancel()
.
SQLEvent.CANCEL
определяет значение свойства type
объекта события cancel
. Этот тип события отправляется, когда успешно завершается выполнение метода SQLConnection.cancel()
. Объект события cancel
имеет следующие свойства.
Свойство | Значение |
---|---|
bubbles | false |
cancelable | false ; поведение по умолчанию, подлежащее отмене, не определено. |
currentTarget | Объект, активно обрабатывающий объект Event с помощью прослушивателя событий. |
target | Объект SQLConnection или SQLStatement, выполнивший операцию. |
Связанные элементы API
close | Событие |
flash.events.SQLEvent
свойство SQLEvent.type =
flash.events.SQLEvent.CLOSE
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0 |
Отправляется при успешном вызове метода close()
.
SQLEvent.CLOSE
определяет значение свойства type
объекта события close
. Этот тип события отправляется, когда успешно завершается выполнение метода SQLConnection.close()
. Объект события close
имеет следующие свойства.
Свойство | Значение |
---|---|
bubbles | false |
cancelable | false ; поведение по умолчанию, подлежащее отмене, не определено. |
currentTarget | Объект, активно обрабатывающий объект Event с помощью прослушивателя событий. |
target | Объект SQLConnection, выполнивший операцию. |
Связанные элементы API
commit | Событие |
flash.events.SQLEvent
свойство SQLEvent.type =
flash.events.SQLEvent.COMMIT
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0 |
Отправляется при успешном вызове метода commit()
.
SQLEvent.COMMIT
определяет значение свойства type
объекта события commit
. Этот тип события отправляется, когда успешно завершается выполнение метода SQLConnection.commit()
. Объект события commit
имеет следующие свойства.
Свойство | Значение |
---|---|
bubbles | false |
cancelable | false ; поведение по умолчанию, подлежащее отмене, не определено. |
currentTarget | Объект, активно обрабатывающий объект Event с помощью прослушивателя событий. |
target | Объект SQLConnection, выполнивший операцию. |
Связанные элементы API
compact | Событие |
flash.events.SQLEvent
свойство SQLEvent.type =
flash.events.SQLEvent.COMPACT
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0 |
Отправляется при успешном вызове метода compact()
.
SQLEvent.COMPACT
определяет значение свойства type
объекта события compact
. Этот тип события отправляется, когда успешно завершается выполнение метода SQLConnection.compact()
. Объект события compact
имеет следующие свойства.
Свойство | Значение |
---|---|
bubbles | false |
cancelable | false ; поведение по умолчанию, подлежащее отмене, не определено. |
currentTarget | Объект, активно обрабатывающий объект Event с помощью прослушивателя событий. |
target | Объект SQLConnection, выполнивший операцию. |
Связанные элементы API
deanalyze | Событие |
flash.events.SQLEvent
свойство SQLEvent.type =
flash.events.SQLEvent.DEANALYZE
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0 |
Отправляется при успешном вызове метода deanalyze()
.
SQLEvent.DEANALYZE
определяет значение свойства type
объекта события deanalyze
. Этот тип события отправляется, когда успешно завершается выполнение метода SQLConnection.deanalyze()
. Объект события deanalyze
имеет следующие свойства.
Свойство | Значение |
---|---|
bubbles | false |
cancelable | false ; поведение по умолчанию, подлежащее отмене, не определено. |
currentTarget | Объект, активно обрабатывающий объект Event с помощью прослушивателя событий. |
target | Объект SQLConnection, выполнивший операцию. |
Связанные элементы API
delete | Событие |
flash.events.SQLUpdateEvent
свойство SQLUpdateEvent.type =
flash.events.SQLUpdateEvent.DELETE
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0 |
Отправляется при изменении данных в любой таблице любой подключенной базы данных в результате выполнения команды SQL DELETE
. Данные могут измениться непосредственно в результате выполнения инструкции DELETE
с помощью экземпляра SQLStatement или косвенно, в результате запуска триггера в ответ на выполнение инструкции.
SQLUpdateEvent.DELETE
определяет значение свойства type
события delete
для SQLConnection. Объект события delete
имеет следующие свойства.
Свойство | Значение |
---|---|
bubbles | false |
cancelable | false ; поведение по умолчанию, подлежащее отмене, не определено. |
currentTarget | Объект, активно обрабатывающий объект Event с помощью прослушивателя событий. |
rowID | Уникальный идентификатор строки, которая была вставлена, удалена или обновлена. |
target | Объект SQLConnection, для которого выполнялась операция. |
table | Имя таблицы, в которой произошло изменение. |
Связанные элементы API
detach | Событие |
flash.events.SQLEvent
свойство SQLEvent.type =
flash.events.SQLEvent.DETACH
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0 |
Отправляется при успешном вызове метода detach()
.
SQLEvent.DETACH
определяет значение свойства type
объекта события detach
. Этот тип события отправляется, когда успешно завершается выполнение метода SQLConnection.detach()
.
Свойство | Значение |
---|---|
bubbles | false |
cancelable | false ; поведение по умолчанию, подлежащее отмене, не определено. |
currentTarget | Объект, активно обрабатывающий объект Event с помощью прослушивателя событий. |
target | Объект SQLConnection, выполнивший операцию. |
Связанные элементы API
error | Событие |
flash.events.SQLErrorEvent
свойство SQLErrorEvent.type =
flash.events.SQLErrorEvent.ERROR
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0 |
Отправляется, если любая из асинхронных операций объекта SQLConnection вызывает ошибку. Экземпляр события SQLErrorEvent, которое отправляется в том случае, если свойство error
объекта события содержит сведения об операции, при выполнении которой возникла ошибка.
SQLErrorEvent.ERROR
определяет значение свойства type
события ошибки, отправляемого, когда вызов метода экземпляра SQLConnection или SQLStatement завершается ошибкой. Объект события error
имеет следующие свойства.
Свойство | Значение |
---|---|
bubbles | false |
cancelable | false ; поведение по умолчанию, подлежащее отмене, не определено. |
error | Объект SQLError, содержащий информацию о типе возникшей ошибки и о вызвавшей ее операции. |
currentTarget | Объект, активно обрабатывающий объект Event с помощью прослушивателя событий. |
target | Объект SQLConnection или SQLStatement, сообщающий об ошибке. |
insert | Событие |
flash.events.SQLUpdateEvent
свойство SQLUpdateEvent.type =
flash.events.SQLUpdateEvent.INSERT
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0 |
Отправляется при изменении данных в любой таблице любой подключенной базы данных в результате выполнения команды SQL INSERT
. Данные могут измениться непосредственно в результате выполнения инструкции INSERT
с помощью экземпляра SQLStatement или косвенно, в результате запуска триггера в ответ на выполнение инструкции.
SQLUpdateEvent.INSERT
определяет значение свойства type
события insert
для SQLConnection. Объект события insert
имеет следующие свойства.
Свойство | Значение |
---|---|
bubbles | false |
cancelable | false ; поведение по умолчанию, подлежащее отмене, не определено. |
currentTarget | Объект, активно обрабатывающий объект Event с помощью прослушивателя событий. |
rowID | Уникальный идентификатор строки, которая была вставлена, удалена или обновлена. |
target | Объект SQLConnection, для которого выполнялась операция. |
table | Имя таблицы, в которой произошло изменение. |
Связанные элементы API
open | Событие |
flash.events.SQLEvent
свойство SQLEvent.type =
flash.events.SQLEvent.OPEN
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0 |
Отправляется при успешном вызове метода openAsync()
.
SQLEvent.OPEN
определяет значение свойства type
объекта события open
. Этот тип события отправляется, когда успешно завершается выполнение метода SQLConnection.open()
или SQLConnection.openAsync()
Объект события open
имеет следующие свойства.
Свойство | Значение |
---|---|
bubbles | false |
cancelable | false ; поведение по умолчанию, подлежащее отмене, не определено. |
currentTarget | Объект, активно обрабатывающий объект Event с помощью прослушивателя событий. |
target | Объект SQLConnection, выполнивший операцию. |
Связанные элементы API
reencrypt | Событие |
flash.events.SQLEvent
свойство SQLEvent.type =
flash.events.SQLEvent.REENCRYPT
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.5 |
Отправляется при успешном завершении операции вызова метода reencrypt()
.
SQLEvent.REENCRYPT
определяет значение свойства type
объекта события reencrypt
. Событие этого типа отправляется при успешном завершении вызова метода SQLConnection.reencrypt()
. Событие reencrypt
имеет следующие свойства:
Свойство | Значение |
---|---|
bubbles | false |
cancelable | false ; поведение по умолчанию, подлежащее отмене, не определено. |
currentTarget | Объект, активно обрабатывающий объект Event с помощью прослушивателя событий. |
target | Объект SQLConnection, выполнивший операцию. |
Связанные элементы API
releaseSavepoint | Событие |
flash.events.SQLEvent
свойство SQLEvent.type =
flash.events.SQLEvent.RELEASE_SAVEPOINT
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 2 |
Отправляется после успешного выполнения метода releaseSavepoint()
.
SQLEvent.RELEASE_SAVEPOINT
определяет значение свойства type
объекта события releaseSavepoint
. Этот тип события отправляется, когда успешно завершается выполнение метода SQLConnection.releaseSavepoint()
. Объект события releaseSavepoint
имеет следующие свойства.
Свойство | Значение |
---|---|
bubbles | false |
cancelable | false ; поведение по умолчанию, подлежащее отмене, не определено. |
currentTarget | Объект, активно обрабатывающий объект Event с помощью прослушивателя событий. |
target | Объект SQLConnection, выполнивший операцию. |
Связанные элементы API
rollback | Событие |
flash.events.SQLEvent
свойство SQLEvent.type =
flash.events.SQLEvent.ROLLBACK
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0 |
Отправляется при успешном вызове метода rollback()
.
SQLEvent.ROLLBACK
определяет значение свойства type
объекта события rollback
. Этот тип события отправляется, когда успешно завершается выполнение метода SQLConnection.rollback()
. Объект события rollback
имеет следующие свойства.
Свойство | Значение |
---|---|
bubbles | false |
cancelable | false ; поведение по умолчанию, подлежащее отмене, не определено. |
currentTarget | Объект, активно обрабатывающий объект Event с помощью прослушивателя событий. |
target | Объект SQLConnection, выполнивший операцию. |
Связанные элементы API
rollbackToSavepoint | Событие |
flash.events.SQLEvent
свойство SQLEvent.type =
flash.events.SQLEvent.ROLLBACK_TO_SAVEPOINT
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 2 |
Отправляется после успешного выполнения метода rollbackToSavepoint()
.
SQLEvent.ROLLBACK_TO_SAVEPOINT
определяет значение свойства type
объекта события rollbackToSavepoint
. Этот тип события отправляется, когда успешно завершается выполнение метода SQLConnection.rollbackToSavepoint()
. Объект события rollbackToSavepoint
имеет следующие свойства.
Свойство | Значение |
---|---|
bubbles | false |
cancelable | false ; поведение по умолчанию, подлежащее отмене, не определено. |
currentTarget | Объект, активно обрабатывающий объект Event с помощью прослушивателя событий. |
target | Объект SQLConnection, выполнивший операцию. |
Связанные элементы API
schema | Событие |
flash.events.SQLEvent
свойство SQLEvent.type =
flash.events.SQLEvent.SCHEMA
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0 |
Отправляется при успешном вызове метода loadSchema()
и готовности результатов схемы.
SQLEvent.SCHEMA
определяет значение свойства type
объекта события schema
. Отправляется, когда успешно завершается выполнение метода SQLConnection.loadSchema()
. После отправки события SQLEvent.SCHEMA
можно вызвать метод SQLConnection.getSchemaResult()
для получения данных схемы. Объект события schema
имеет следующие свойства:
Свойство | Значение |
---|---|
bubbles | false |
cancelable | false ; поведение по умолчанию, подлежащее отмене, не определено. |
currentTarget | Объект, активно обрабатывающий объект Event с помощью прослушивателя событий. |
target | Объект SQLConnection, выполнивший операцию. |
Связанные элементы API
setSavepoint | Событие |
flash.events.SQLEvent
свойство SQLEvent.type =
flash.events.SQLEvent.SET_SAVEPOINT
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 2 |
Отправляется после успешного выполнения метода setSavepoint()
.
SQLEvent.SET_SAVEPOINT
определяет значение свойства type
объекта события setSavepoint
. Этот тип события отправляется, когда успешно завершается выполнение метода SQLConnection.setSavepoint()
. Объект события setSavepoint
имеет следующие свойства.
Свойство | Значение |
---|---|
bubbles | false |
cancelable | false ; поведение по умолчанию, подлежащее отмене, не определено. |
currentTarget | Объект, активно обрабатывающий объект Event с помощью прослушивателя событий. |
target | Объект SQLConnection, выполнивший операцию. |
Связанные элементы API
update | Событие |
flash.events.SQLUpdateEvent
свойство SQLUpdateEvent.type =
flash.events.SQLUpdateEvent.UPDATE
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0 |
Отправляется при изменении данных в любой таблице любой подключенной базы данных в результате выполнения команды SQL UPDATE
. Данные могут измениться непосредственно в результате выполнения инструкции UPDATE
с помощью экземпляра SQLStatement или косвенно, в результате запуска триггера в ответ на выполнение инструкции.
SQLUpdateEvent.UPDATE
определяет значение свойства type
события update
для SQLConnection.
Объект события update
имеет следующие свойства.
Свойство | Значение |
---|---|
bubbles | false |
cancelable | false ; поведение по умолчанию, подлежащее отмене, не определено. |
currentTarget | Объект, активно обрабатывающий объект Event с помощью прослушивателя событий. |
rowID | Уникальный идентификатор строки, которая была вставлена, удалена или обновлена. |
target | Объект SQLConnection, для которого выполнялась операция. |
table | Имя таблицы, в которой произошло изменение. |
Связанные элементы API
Tue Jun 12 2018, 11:34 AM Z