パッケージ | flash.data |
クラス | public class SQLConnection |
継承 | SQLConnection EventDispatcher Object |
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0 |
SQLConnection クラスの機能は、いくつかのカテゴリに分けられます。
-
ローカル SQL データベースファイルを作成または開くには、
open()
メソッドを呼び出すか、SQLConnection インスタンスを SQLStatement インスタンスのsqlConnection
プロパティに設定します。 -
SQLConnection クラスは、SQL ステートメントの状態も示します。これには、複数のステートメントを 1 回のトランザクションで実行するメカニズムを含みます。トランザクションは、
begin()
、commit()
およびrollback()
メソッドを使用して管理します。また、setSavepoint()
、releaseSavepoint()
およびrollbackToSavepoint()
メソッドを使用すれば、コードによるセーブポイントの定義および管理も可能です。これらのメソッドを使用すると、トランザクションを処理セットに細分化できます。 -
SQLConnection クラスは、接続済みのデータベースのデータベーススキーマ情報を示します。データベースのスキーマは、データベースのテーブル、列、インデックスおよびトリガーの定義を表します。詳細については、
loadSchema()
メソッドを参照してください。 -
SQLConnection クラスを使用すると、CCM を使用する AES でデータベースを暗号化できます。これにより、データの認証とプライバシーの両方が提供されます。データベースを暗号化するには、データベースを作成するときに、ByteArray を使用して 16 バイトのキーを指定する必要があります。このキーは、後で
SQLConnection.reencrypt()
メソッドを使用して変更できます。暗号化を使用すると、データベースを読み書きする際のパフォーマンスが低下します。暗号化は、ディスクに保存されたデータに適用されますが、メモリ内の一時データキャッシュには適用されません。暗号化は、メモリ内データベースでサポートされていません。 -
SQLConnection インスタンスを使用したデータベースレベルのイベント通知の受信が可能で、キャッシュページサイズ、プロセスのキャンセルおよびステートメントの実行オプションなど、データベースのあらゆる状態を制御することができます。
SQLConnection
インスタンスは、非同期および同期のいずれかの実行モードで機能します。同期実行を使用するには、open()
メソッドを使用して、SQLConnection インスタンスのメインデータベースに接続します。非同期実行を使用するには、openAsync()
メソッドを使用して、インスタンスのメインデータベースに接続します。
非同期実行を使用する場合は、イベントリスナーまたは Responder インスタンスを使用して、処理の完了または失敗を特定します。処理はメインアプリケーションスレッドではなくバックグラウンドで実行されるので、データベース処理の実行中でもアプリケーションは実行を続け、ユーザーの操作に応答します。非同期の SQLConnection インスタンスは、それぞれ独自のスレッドで SQL ステートメントを実行します。
非同期実行モードでは、適切なメソッドを呼び出して、特定の処理を開始します。処理の完了(または失敗)は、該当するイベントにリスナーを登録することで検出できます。各処理には、処理が正常に完了した場合に送出される関連イベントが用意されています。例えば、openAsync()
メソッドの呼び出しが正常に完了した場合(データベース接続が開かれた場合)は、open
イベントが送出されます。処理が失敗すると、error
イベントが送出されます。SQLErrorEvent オブジェクトの error
プロパティの SQLError インスタンスには、試行された処理や処理が失敗した理由など、特定のエラーに関する情報が格納されます。
同期実行を使用する場合は、処理の完了または失敗を特定するためにイベントリスナーを登録する必要はありません。エラーを特定するには、エラーをスローするステートメントを、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 [読み取り専用]
現在のデータベースが最初に作成されたときに指定された、データベースのページサイズ(バイト単位)を示します(データベースを作成した open() または openAsync() の呼び出しで pageSize パラメーターに指定されていた値)。 | 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 | ||
SQLConnection インスタンスに接続しているデータベースに対して現在実行中の SQL ステートメントをすべて中止します。 | SQLConnection | ||
現在のデータベース接続を閉じます。 | SQLConnection | ||
既存のトランザクションをコミットします。トランザクションのステートメントによって実行されたアクションは、永続的にデータベースに適用されます。 | SQLConnection | ||
データベースの未使用領域を再要求します。 | SQLConnection | ||
analyze() メソッドの呼び出して作成された統計情報をすべて削除します。 | SQLConnection | ||
attach() メソッドを使用して SQLConnection インスタンスにアタッチされた追加のデータベースをデタッチします。 | 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 KB のメモリを使用します。この使用量は、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]
の形式に指定されていることを示します。同じ名前を持つ複数の列が存在する場合、その名前を持つプロパティが 1 つだけが結果オブジェクトに追加されます。SQLColumnNameStyle.DEFAULT
はデフォルト値です。この値が使用されている場合、結果の列名は、同じ列名を持つSELECT
ステートメントのテーブル数に従って形式が設定されます。SELECT
ステートメントにテーブルが 1 つしか含まれない場合は、[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
プロパティ(SQLStatement オブジェクトの getResult()
メソッドから返される SQLResult オブジェクトのプロパティ)を通じて取得できます(SQLStatement の result
イベントが送出された後に getResult() メソッドが呼び出された場合)。
主キーと生成される行識別子の詳細については、付録「ローカルデータベースでの SQL サポート」の「CREATE TABLE」セクションおよび「式」セクションを参照してください。
実装
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
を設定)、異なる 2 つのリスナーが登録されます。1 つはキャプチャ段階でリスニングするリスナーで、もう 1 つはターゲット段階とバブリング段階でリスニングするリスナーです。
ターゲット段階またはバブリング段階のみを対象とするイベントリスナーを登録することはできません。登録時にこれらの段階が組み合わされるのは、バブリングはターゲットノードの祖先にしか適用されないためです。
イベントリスナーが不要になった場合は、removeEventListener()
を呼び出して、イベントリスナーを削除します。削除しない場合、メモリの問題が発生する可能性があります。ガベージコレクションでは、オブジェクトの送出が行われている限り、リスナーを削除しないので、イベントリスナーは自動的には削除されません(useWeakReference
パラメーターが true
に設定されていない場合)。
EventDispatcher インスタンスをコピーしても、それに関連付けられているイベントリスナーはコピーされません。新しく作成したノードにイベントリスナーが必要な場合は、ノードを作成した後に、リスナーを関連付ける必要があります。ただし、EventDispatcher インスタンスを移動した場合は、関連付けられているイベントリスナーも一緒に移動されます。
イベントがノードで処理されるときに、イベントリスナーがそのノードに登録中であれば、イベントリスナーは現在の段階ではトリガーされません。ただし、バブリング段階など、イベントフローの後の段階でトリガーすることができます。
イベントがノードで処理されているときにイベントリスナーがノードから削除された場合でも、イベントは現在のアクションによってトリガーされます。削除された後は、その後の処理で再び登録されない限り、イベントリスナーは二度と呼び出されません。
パラメーター
type:String — イベントのタイプです。
| |
listener:Function — イベントを処理するリスナー関数です。この関数は、次の例のように、Event オブジェクトを唯一のパラメーターとして受け取り、何も返さないものである必要があります。
function(evt:Event):void 関数の名前は任意に付けられます。 | |
useCapture:Boolean (default = false ) —
リスナーが、キャプチャ段階、またはターゲットおよびバブリング段階で動作するかどうかを判断します。useCapture を true に設定すると、リスナーはキャプチャ段階のみでイベントを処理し、ターゲット段階またはバブリング段階では処理しません。useCapture を false に設定すると、リスナーはターゲット段階またはバブリング段階のみでイベントを処理します。3 つの段階すべてでイベントを受け取るには、addEventListener を 2 回呼び出します。useCapture を true に設定して呼び出し、useCapture を false に設定してもう一度呼び出します。
| |
priority:int (default = 0.0 ) — イベントリスナーの優先度レベルです。優先度は、符号付き 32 bit 整数で指定します。数値が大きくなるほど優先度が高くなります。優先度が 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 インスタンスに追加し、指定された名前を新しいデータベースに付けます。データベースをアタッチすると、この SQLConnection インスタンスに対して実行される SQL ステートメントで、そのデータベースを使用できるようになります。
指定された名前を使用して、データベースが既にアタッチされている場合は、attach()
を呼び出すとエラーが発生します。ただし、一意の名前を使用することで、同じデータベースを 2 回以上アタッチすることができます。単一の SQLConnection インスタンスにアタッチできるデータベースは、10 個までです。
attach()
を使用して接続したデータベースに対しては、任意の SQL ステートメントを実行できます。このメソッドは、メインデータベース(open()
または openAsync()
を使用して接続したデータベース)に対して実行できます。SQL ステートメントは、そのステートメントの関連付けられている SQLConnection インスタンスにアタッチされているデータベースであれば、どのテーブルにでもアクセスできます。これには、単一のステートメントで複数のデータベースのテーブルにアクセスする場合も含まれます。ランタイムはステートメントのテーブル名を解決すると、SQLConnection インスタンスのデータベースを検索します。検索は open()
メソッドまたは openAsync()
メソッドを使用して接続されたデータベースから開始され、アタッチされた順番に行われます。ステートメントでデータベース名(attach()
メソッドの name
パラメーターで指定された名前)を使用して、テーブル名を明示的に修飾します。
attach()
メソッドを使用してアタッチされたデータベースを削除するには、detach()
メソッドを使用します。close()
メソッドを呼び出して SQLConnection インスタンスを閉じると、アタッチされているデータベースは、すべてデタッチされます。
アタッチされているデータベースは、メインデータベースと同じ実行モード(同期または非同期)を使用します。これは、メインデータベースが 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()
メソッドを使用してトランザクションを作成すると、新しいマニュアルトランザクションが作成されます。それ以降、SQLConnection インスタンスに対して実行される SQL ステートメントはすべてトランザクションの範囲内で発生し、ステートメントによって実行されるアクションまたは変更は、グループとしてコミット(永続させる)またはロールバック(元に戻す)できます。
トランザクションを終了するには、commit()
メソッドまたは rollback()
メソッドを呼び出します。どちらを呼び出すかは、トランザクションのステートメントによる変更を永続させるか破棄するかによって決定します。
begin()
に対するネストされた呼び出しは無視されます。トランザクション内でブックマークのように機能するセーブポイントを作成するには、setSavepoint()
メソッドを呼び出します。その後で releaseSavepoint()
または rollbackToSavepoint()
メソッドを呼び出すことにより、SQL ステートメントを部分的にコミットまたはロールバックできます。ただし、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 定数の 1 つでない場合。
| |
SQLError — 同期実行モードで処理が失敗した場合。
|
関連する API エレメント
rollback()
setSavepoint()
releaseSavepoint()
rollbackToSavepoint()
flash.data.SQLTransactionLockType
例 ( この例の使用方法 )
INSERT
ステートメントを複数実行する例を示したものです。最初に、「employees」テーブルに 1 行が追加されます。次に、新しく挿入された行のプライマリキーが取得されます。このキーを使用して、関連付けられている「phoneNumbers」テーブルに 1 行を追加します。
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 |
SQLConnection インスタンスに接続しているデータベースに対して現在実行中の SQL ステートメントをすべて中止します。このメソッドは、長時間実行されているクエリや暴走したクエリを停止するために使用できます。
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()
を呼び出します。これには、SQLConnection がデータベースに接続されたまま AIR アプリケーションが閉じられた場合も含まれます。
パラメーター
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 |
attach()
メソッドを使用して SQLConnection インスタンスにアタッチされた追加のデータベースをデタッチします。異なる名前を使用することで、同じデータベースを 2 回以上アタッチすることができます。この場合、1 つの接続をデタッチしても、残りの接続は維持されます。接続に開いているトランザクションが存在する場合(inTransaction
プロパティが true
の場合)、データベースをデタッチできません。
パラメーター
name:String — デタッチするデータベースの指定された名前です。
| |
responder:Responder (default = null ) — 処理が成功または失敗した場合に呼び出されるメソッドを指定するオブジェクトです。非同期実行モードでは、responder 引数が null の場合、実行が完了すると detach イベントまたは error イベントが送出されます。
|
イベント
detach: — 処理が正しく完了したときに送出されます。
| |
error: — 非同期実行モードで処理が失敗した場合に送出されます。
|
例外
ArgumentError — name 引数が null の場合、または空のストリング("" )が格納されている場合。
| |
IllegalOperationError — SQLConnection インスタンスがデータベースに接続されていない(connected プロパティが false )の状態でこのメソッドを呼び出した場合、または開いているトランザクション(inTransaction プロパティが true )が SQLConnection インスタンスに存在する場合。
| |
SQLError — 同期実行モードで処理が失敗した場合。
|
関連する API エレメント
getSchemaResult | () | メソッド |
public function getSchemaResult():SQLSchemaResult
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0 |
loadSchema()
メソッド呼び出しの結果に対するアクセスを提供します。getSchemaResult()
メソッドは、結果の先入れ先出しキューとして動作します。loadSchema()
メソッドの呼び出しが完了するたびに(schema
イベントが非同期実行モードで送出されるたびに)、新しい SQLSchemaResult オブジェクトがキューに追加されます。getSchemaResult()
メソッドが呼び出されるたびに、最も古い結果(最初にキューに追加されたもの)が返され、キューから削除されます。キューに存在するオブジェクトがなくなると、getSchemaResult()
は null
を返します。
データベース接続が閉じられると、メソッドは null
を返します。
SQLSchemaResult |
関連する API エレメント
loadSchema | () | メソッド |
public function loadSchema(type:Class = null, name:String = null, database:String = "main", includeColumnSchema:Boolean = true, responder:Responder = null):void
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0 |
接続されているデータベースまたはアタッチされている任意のデータベースからスキーマ情報をロードします。スキーマは、データベースのテーブル、列、インデックスおよびトリガーの構造を示すものです。
ロードされているスキーマにアクセスするには、SQLConnection.getSchemaResult()
メソッドを使用します。
非同期実行モードでは、処理が正しく完了すると schema
イベントが送出され、処理が失敗すると error
イベントが送出されます。
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 インスタンスを使用して実行される他の処理(この SQLConnection インスタンスに関連付けられている SQLStatement インスタンスが実行するステートメントの実行など)と同様、同期的に実行されます。非同期的に処理を実行するには、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 ) — データベースのページサイズ(バイト単位)を示します。このパラメーターは、新規データベースファイルを作成した場合か、テーブルが作成されていないデータベースファイルを開いた場合のみ有効です。値は 2 の累乗で、512 以上 32768 以下でなければなりません。初期設定値は 1024 バイトです。この値は、任意のテーブルを作成する前にのみ設定できます。テーブルの作成後にこの値を変更しようとするとエラーが発生します。
| |
encryptionKey:ByteArray (default = null ) — データベースファイルの暗号化キー。open() の呼び出しがデータベースを作成する場合、データベースは暗号化されて、指定したキーがデータベースの暗号化キーとして使用されます。呼び出しによって暗号化されたデータベースが開かれる場合、値はそのデータベースの暗号化キーと一致している必要があり、一致しない場合はエラーが発生します。開かれるデータベースが暗号化されていない場合、または暗号化されないデータベースを作成する場合は、値として null (デフォルト)を指定する必要があります。指定しないとエラーが発生します。
有効な暗号化キーは 16 バイト長です。メモリ内データベースは暗号化できないので、このパラメーターを 暗号化されたデータベースを開く場合、指定した暗号化キーがデータベースの暗号化キーと一致していないと、SQLError 例外がスローされます。その場合、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 インスタンスを使用して実行される他の処理(この SQLConnection インスタンスに関連付けられている SQLStatement インスタンスが実行するステートメントの実行など)と同様、非同期的に実行されます。同期的に処理を実行するには、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 で、指定されたファイルが存在しない場合は、error イベントが送出されます。 このパラメーターは、reference パラメーターが null の場合は無視されます。
| |
responder:Responder (default = null ) — 処理が成功または失敗した場合に呼び出されるメソッドを指定するオブジェクトです。responder 引数が null の場合、実行が完了すると open イベントまたは error イベントが送出されます。
| |
autoCompact:Boolean (default = false ) — データベースの未使用領域を自動的に再要求するかどうかを示します。このパラメーターは、新規データベースファイルを作成した場合か、テーブルが作成されていないデータベースファイルを開いた場合のみ有効です。デフォルトでは、削除されたデータが使用していた領域はデータベースファイルに残り、必要に応じて再使用されます。このパラメーターを true に設定すると、データベースが自動的に未使用領域を再要求します。データがデータベースに書き込まれるたびに追加の処理が必要になるため、これはパフォーマンスに悪影響を与える可能性があります。また、時間が経過するとデータベースのデータが断片化する原因にもなります。任意のタイミングでデータベースファイルの未使用領域をデータベースに強制的に再要求させ、データベースファイルの最適化を行うには、compact() メソッドを使用します。
このパラメーターは、 | |
pageSize:int (default = 1024 ) — データベースのページサイズ(バイト単位)を示します。このパラメーターは、新規データベースファイルを作成した場合か、テーブルが作成されていないデータベースファイルを開いた場合のみ有効です。値は 2 の累乗で、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()
メソッドを呼び出す必要があります。inTransaction
が false
の状態で、setSavepoint()
を呼び出してトランザクションを開始した場合、トランザクション全体を終了するには、commit()
メソッドを呼び出すか、トランザクションの最初のセーブポイントを対象として releaseSavepoint()
または rollbackToSavepoint()
を呼び出します。
コードから rollback()
メソッドを呼び出すと、トランザクションがロールバックされる前に releaseSavepoint()
が呼び出されたかどうかに関わらず、トランザクション内のすべての変更が完全に破棄されます。
パラメーターなしで(または name
パラメーターに null
を指定して)このメソッドが呼び出されると、名前のない直近のセーブポイント(name
パラメーターを指定せずに setSavepoint()
を呼び出して作成された直近のセーブポイント)以降に実行されたデータベースの変更がコミットされます。例えば、setSavepoint()
メソッドが 3 回呼び出されたとすると、3 つのセーブポイントが設定されます。その時点で releaseSavepoint()
を呼び出すと、3 番目(最新)のセーブポイント以降に実行された SQL 操作がコミットされます。
name
パラメーターに値が指定されている場合、このメソッドは、指定された名前のセーブポイント以降に実行されたすべての SQL 操作をコミットします。指定されたセーブポイントよりも新しいセーブポイントが他に作成されている場合、これらのセーブポイント以降に実行された操作もコミットされます。
セーブポイントが解放またはロールバックされると、該当するセーブポイントとそれ以降に設定されたセーブポイントは削除されます。releaseSavepoint()
またはrollbackToSavepoint()
を呼び出してセーブポイントを削除した後に、コードから SQL 操作を実行すると、追加された操作は、残っている直近のセーブポイントに属します(つまり、これらの操作は、削除されたセーブポイントよりも前に作成された直近のセーブポイントに属します)。セーブポイントが残っていない場合、操作はメイントランザクションに属します。
パラメーター
name:String (default = null ) — セーブポイントの名前を示す文字列で、このセーブポイント以降の SQL 操作がすべてコミットされます。このパラメーターに値が指定されていない、または null (デフォルト値)の場合は、名前のない直近の(name 値を指定せずに setSavepoint() を呼び出して作成した)セーブポイントが使用されます。name 値には、空の文字列("" )を使用できません。
| |
responder:Responder (default = null ) — 処理が成功または失敗した場合に呼び出されるメソッドを指定する応答オブジェクトです。非同期実行モードでは、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() を 2 回呼び出して両方のリスナーを削除する必要があります。1 回は useCapture() を true に設定し、もう 1 回は 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()
メソッドを呼び出すと、トランザクションがロールバックされる前に個々のセーブポイントが解放(コミット)されているかどうかに関わらず、すべての変更が完全に破棄されます。
パラメーターなしで(または name
パラメーターに null
を指定して)このメソッドが呼び出されると、名前のない直近のセーブポイント(name
パラメーター値を指定せずに実行した直近の setSavepoint()
呼び出し)以降に行われたデータベースの変更がすべてロールバックされます。
name
パラメーターに値が指定されている場合、このメソッドは、指定された名前のセーブポイント以降に実行されたすべての SQL 操作をロールバックします。指定されたセーブポイントよりも新しいセーブポイントが他に作成されている場合、これらのセーブポイント以降に実行された操作もロールバックされます。
セーブポイントが解放またはロールバックされると、該当するセーブポイントとそれ以降に設定されたセーブポイントは削除されます。releaseSavepoint()
またはrollbackToSavepoint()
を呼び出してセーブポイントを削除した後に、コードから SQL 操作を実行すると、追加された操作は、残っている直近のセーブポイントに属します(つまり、これらの操作は、削除されたセーブポイントよりも前に作成された直近のセーブポイントに属します)。セーブポイントが残っていない場合、操作はメイントランザクションに属します。
パラメーター
name:String (default = null ) — セーブポイントの名前を示す文字列で、データベースの状態がこのセーブポイントまでロールバックされます。このパラメーターに値が指定されていない、または null (デフォルト値)の場合は、名前のない直近の(name 値を指定せずに setSavepoint() を呼び出して作成した)セーブポイントが使用されます。name 値には、空の文字列("" )を使用できません。
| |
responder:Responder (default = null ) — 処理が成功または失敗した場合に呼び出されるメソッドを指定する応答オブジェクトです。非同期実行モードでは、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 |
データベーストランザクション内でブックマークのように機能するセーブポイントを作成します。トランザクション内のポイントを示すセーブポイントです。releaseSavepoint()
や rollbackToSavepoint()
メソッドを使用すると、セーブポイント間で実行された一連の SQL 操作を他の操作とは別にコミットまたはロールバックできます。この方法では、セーブポイントを使用することによって、一連の SQL 操作をネストしたトランザクションとして扱えます。
setSavepoint()
メソッドの呼び出し時に、begin()
メソッドを呼び出してトランザクションをまだ開いていない場合は、このメソッドを呼び出すことによってトランザクションが開始され、その際にセーブポイントが作成されます。トランザクションが既に開いている場合は、setSavepoint()
を呼び出すと、トランザクション内にセーブポイントが作成されます。
変更を永続的にデータベースに保存するには、トランザクション全体がコミットされる必要があります。begin()
メソッドを使用してトランザクションを開始した場合、トランザクション全体をコミットするには、commit()
メソッドを呼び出す必要があります。inTransaction
が false
の状態で、setSavepoint()
を呼び出してトランザクションを開始した場合、トランザクション全体を終了するには、commit()
メソッドを呼び出します。または、トランザクションを開始したセーブポイントを対象として、releaseSavepoint()
または rollbackToSavepoint()
を呼び出すと、トランザクションは自動的に終了します。
セーブポイント名を指定するには、name
パラメーターに値を設定します。これにより、指定のセーブポイント以降に行われたすべての変更をロールバックまたはコミットできます。名前が指定されていない場合(デフォルト)は、名前のないセーブポイントが作成されます。
セーブポイントが解放またはロールバックされると、該当するセーブポイントとそれ以降に設定されたセーブポイントは削除されます。releaseSavepoint()
またはrollbackToSavepoint()
を呼び出してセーブポイントを削除した後に、コードから SQL 操作を実行すると、追加された操作は、残っている直近のセーブポイントに属します(つまり、これらの操作は、削除されたセーブポイントよりも前に作成された直近のセーブポイントに属します)。セーブポイントが残っていない場合、操作はメイントランザクションに属します。
パラメーター
name:String (default = null ) — セーブポイントの名前を示す文字列です。このパラメーターに値が指定されていない、または null (デフォルト値)の場合は、releaseSavepoint() または rollbackToSavepoint() を次回に呼び出すときに name パラメーターを指定しないと、名前のないセーブポイント以降に実行された SQL 操作がコミットまたはロールバックされます。
前のセーブポイントと同じ名前を指定した場合、 | |
responder:Responder (default = null ) — 処理が成功または失敗した場合に呼び出されるメソッドを指定する応答オブジェクトです。非同期実行モードでは、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
コマンドを実行した結果、任意の接続済みデータベースの任意のテーブルのデータが変化した場合に送出されます。データの変化は、SQLStatement インスタンスから DELETE
ステートメントを実行した直接的な結果か、ステートメントの実行に応答してトリガーが発生した間接的な結果である可能性があります。
SQLUpdateEvent.DELETE
定数は、type
プロパティ(SQLConnection delete
イベント)の値を定義します。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
定数は、SQLConnection インスタンスまたは SQLStatement インスタンスのメソッドの呼び出しがエラーで終了したときに送出されるエラーイベントの type
プロパティの値を定義します。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
コマンドを実行した結果、任意の接続済みデータベースの任意のテーブルのデータが変化した場合に送出されます。データの変化は、SQLStatement インスタンスから INSERT
ステートメントを実行した直接的な結果か、ステートメントの実行に応答してトリガーが発生した間接的な結果である場合があります。
SQLUpdateEvent.INSERT
定数は、type
プロパティ(SQLConnection insert
イベント)の値を定義します。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
定数は、releaseSavepoint
イベントオブジェクトの type
プロパティの値を定義します。このタイプのイベントは、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
定数は、rollbackToSavepoint
イベントオブジェクトの type
プロパティの値を定義します。このタイプのイベントは、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
定数は、setSavepoint
イベントオブジェクトの type
プロパティの値を定義します。このタイプのイベントは、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
コマンドを実行した結果、任意の接続済みデータベースの任意のテーブルのデータが変化した場合に送出されます。データの変化は、SQLStatement インスタンスから UPDATE
ステートメントを実行した直接的な結果か、ステートメントの実行に応答してトリガーが発生した間接的な結果である場合があります。
SQLUpdateEvent.UPDATE
定数は、type
プロパティ(SQLConnection update
イベント)の値を定義します。
update
イベントには、次のプロパティがあります。
プロパティ | 値 |
---|---|
bubbles | false |
cancelable | false は、キャンセルするデフォルトの動作がないことを示します。 |
currentTarget | イベントリスナーで event オブジェクトをアクティブに処理しているオブジェクトです。 |
rowID | 挿入、削除または更新された行の一意の行識別子です。 |
target | 操作が実行された SQLConnection オブジェクトです。 |
table | 変更が発生したテーブルの名前です。 |
関連する API エレメント
Tue Jun 12 2018, 10:34 AM Z