| Пакет | 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
Скрыть унаследованные общедоступные свойства
Показать унаследованные общедоступные свойства