| パッケージ | flash.data |
| クラス | public class SQLConnection |
| 継承 | SQLConnection EventDispatcher Object |
| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | AIR 1.0 |
SQLConnection クラスの機能は複数のカテゴリに分類されます。
ローカル SQL データベースファイルを作成したり開いたりするには、open() メソッドまたは openAsync() メソッドを呼び出します。データベースファイルが存在しない場合、これらのメソッドは接続を開く際に、オプションでデータベースファイルを作成できます。データベースへの接続が確立すると、SQLStatement インスタンスを作成し、 インスタンスを SQLStatement の sqlConnectionsqlConnection プロパティに割り当てることで、データベースに対して SQL ステートメントを作成および実行できます。
SQLConnection クラスは、begin()、commit() および rollback() の各メソッドを使用して複数のステートメントを 1 回のトランザクションで実行するメカニズムを含め、SQL ステートメントの状態も示します。
SQLConnection クラスは、接続済みのデータベースのデータベーススキーマ情報を示します。データベースのスキーマは、データベースのテーブル、列、インデックスおよびトリガの定義を表します。詳細については、loadSchema() メソッドを参照してください。
SQLConnection クラスを使用すると、CCM を使用する AES でデータベースを暗号化できます。これにより、データの認証とプライバシーの両方が提供されます。データベースを暗号化するには、データベースを作成するときに、ByteArray を使用して 16 バイトのキーを指定する必要があります。このキーは、後で SQLConnection.reencrypt() メソッドを使用して変更できます。暗号化を使用すると、データベースを読み書きする際のパフォーマンスが低下します。暗号化は、ディスクに保存されているデータに適用され、メモリ内のデータキャッシュにある一時データには適用されません。暗号化は、メモリ内データベースではサポートされません。
SQLConnection インスタンスを使用したデータベースレベルのイベント通知の受信が可能で、キャッシュページサイズ、プロセスのキャンセルおよびステートメントの実行オプションなど、データベースのあらゆる状態を制御することができます。
SQLConnection インスタンスは、非同期および同期のいずれかの実行モードで機能します。同期実行を使用するには、open() メソッドを使用して、SQLConnection インスタンスのメインデータベースに接続します。非同期実行を使用するには、openAsync() メソッドを使用して、インスタンスのメインデータベースに接続します。
非同期実行を使用する場合は、イベントリスナーまたは Responder インスタンスを使用して、処理の完了または失敗を特定します。処理はメインアプリケーションスレッドではなくバックグラウンドで実行されるので、データベース処理の実行中でもアプリケーションは実行を続け、ユーザーの操作に応答します。
非同期実行モードでは、適切なメソッドを呼び出して、特定の処理を開始します。処理の完了 (または失敗) は、該当するイベントにリスナーを登録することで検出できます。各処理には、処理が正常に完了した場合に送出される関連イベントが用意されています。たとえば、openAsync() メソッドの呼び出しが正常に完了した場合(データベース接続が開かれた場合)は、open イベントが送出されます。処理が失敗すると、error イベントが送出されます。SQLErrorEvent オブジェクトの error プロパティの SQLError インスタンスには、試行された処理や処理が失敗した理由など、特定のエラーに関する情報が格納されます。
同期実行を使用する場合は、処理の完了または失敗を特定するためにイベントリスナーを登録する必要はありません。エラーを特定するには、エラーをスローするステートメントを、try..catch ブロックに入れます。同期処理はメイン実行スレッドで実行されるので、アプリケーションの機能 (画面の更新や、マウスおよびキーボード操作の受け付けなど) は、データベース処理が実行されている間、すべて停止されます。長時間を要する処理では、一定の時間アプリケーションが停止する場合があります。
関連項目
| プロパティ | 定義元 | ||
|---|---|---|---|
[読み取り専用]
現在のデータベースが最初に作成されたときに、自動縮小が有効になっていたかどうかを示します (autoCompact パラメータに指定されていた値で、データベースを作成した open() または openAsync() の呼び出しで指定したものです)。 | SQLConnection | ||
この接続に対するキャッシュサイズへのアクセスを提供します。これは、一度にメモリに確保される最大のデータベースディスクページ数を表します。 | SQLConnection | ||
SELECT ステートメントの結果で、列名をどのように報告するかを示します。 | SQLConnection | ||
[読み取り専用]
SQLConnection インスタンスに、データベースファイルへの開いている接続があるかどうかを示します。 | SQLConnection | ||
![]() | constructor : Object
指定されたオブジェクトインスタンスのクラスオブジェクトまたはコンストラクタ関数への参照です。 | Object | |
[読み取り専用]
この接続が、現在トランザクションに含まれているかどうかを示します。 | SQLConnection | ||
[読み取り専用]
SQL INSERT ステートメントによって最後に作成された行識別子です。 | SQLConnection | ||
[読み取り専用]
現在のデータベースが最初に作成されたときに指定された、データベースのページサイズ (バイト単位) を示します (データベースを作成した open() または openAsync() の呼び出しで pageSize パラメータに指定されていた値)。 | SQLConnection | ||
![]() | prototype : Object [静的]
クラスまたは関数オブジェクトのプロトタイプオブジェクトへの参照です。 | Object | |
[読み取り専用]
データベースへの接続が開かれてからデータに加えられた変更数の合計が含まれます。 | SQLConnection | ||
| メソッド | 定義元 | ||
|---|---|---|---|
SQLConnection インスタンスを作成します。 | SQLConnection | ||
[override]
イベントリスナーオブジェクトを EventDispatcher オブジェクトに登録し、リスナーがイベントの通知を受け取るようにします。 | SQLConnection | ||
データベースインデックスに関する統計を収集し、データベースに保存します。 | SQLConnection | ||
別のデータベースを SQLConnection インスタンスに追加し、指定された名前を新しいデータベースに付けます。 | SQLConnection | ||
接続のデータベースに対して実行されるすべての SQL ステートメントがグループ化されている範囲内で、トランザクションを開始します。 | SQLConnection | ||
SQLConnection インスタンスに接続しているデータベースに対して現在実行中の SQL ステートメントをすべて中止します。 | SQLConnection | ||
現在のデータベース接続を閉じます。 | SQLConnection | ||
既存のトランザクションをコミットします。トランザクションのステートメントによって実行されたアクションは、永続的にデータベースに適用されます。 | SQLConnection | ||
データベースの未使用領域を再要求します。 | SQLConnection | ||
analyze() メソッドの呼び出して作成された統計情報をすべて削除します。 | SQLConnection | ||
attach() メソッドを使用して SQLConnection インスタンスにアタッチされた追加のデータベースをデタッチします。 | SQLConnection | ||
![]() |
イベントをイベントフローに送出します。 | EventDispatcher | |
loadSchema() メソッド呼び出しの結果に対するアクセスを提供します。 | SQLConnection | ||
![]() |
EventDispatcher オブジェクトに、特定のイベントタイプに対して登録されたリスナーがあるかどうかを確認します。 | EventDispatcher | |
![]() |
オブジェクトに指定されたプロパティが定義されているかどうかを示します。 | Object | |
![]() |
Object クラスのインスタンスが、パラメータとして指定されたオブジェクトのプロトタイプチェーン内にあるかどうかを示します。 | Object | |
接続されているデータベースまたはアタッチされている任意のデータベースからスキーマ情報をロードします。 | SQLConnection | ||
ファイルシステムの指定された場所にあるデータベースファイルを開くか、その場所に新しいデータベースファイルを作成して開くか、メモリ内データベースを作成して開きます。 | SQLConnection | ||
ファイルシステムの指定された場所にあるデータベースファイルを開くか、その場所に新しいデータベースファイルを作成して開くか、メモリ内データベースを作成して開きます。 | SQLConnection | ||
![]() |
指定されたプロパティが存在し、列挙できるかどうかを示します。 | Object | |
暗号化されたデータベースの暗号化キーを変更します。 | SQLConnection | ||
[override]
EventDispatcher オブジェクトからリスナーを削除します。 | SQLConnection | ||
begin() メソッドを使用して作成された既存のトランザクションをロールバックします。つまり、そのトランザクションの SQL ステートメントによる変更が、すべて破棄されます。 | 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 | |||
| rollback() メソッド呼び出しの処理が正常に完了したときに送出されます。 | SQLConnection | |||
| loadSchema() メソッド呼び出しの処理が正常に完了し、スキーマの結果の準備が完了したときに送出されます。 | SQLConnection | |||
| SQL UPDATE コマンドを実行した結果、任意の接続済みデータベースの任意のテーブルのデータが変化した場合に送出されます。 | SQLConnection | |||
| プロパティ |
autoCompact:Boolean [読み取り専用] | 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | AIR 1.0 |
現在のデータベースが最初に作成されたときに、自動縮小が有効になっていたかどうかを示します(autoCompact パラメータに指定されていた値で、データベースを作成した open() または openAsync() の呼び出しで指定したものです)。このプロパティが true の場合、各書き込み処理の後に、未使用領域がデータベースファイルから自動的に削除され、データベースファイルのサイズが小さく保たれます。このプロパティが false の場合、削除されたデータが占有していた領域はデータベースファイルに残り、必要に応じて再使用されます。autoCompact が falseの場合でも、compact() メソッドを呼び出して、データベースに未使用領域を再要求させることができます。
connected プロパティが false である場合は、このプロパティは false に設定されます。
public function get autoCompact():Boolean関連項目
| プロパティ |
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):voidIllegalOperationError — SQLConnection インスタンスがデータベースに接続されていない状態 (connected プロパティが false の状態) で、このプロパティを設定しようとした場合、またはトランザクションが現在開いている場合 (inTransaction プロパティが true の場合)。
|
関連項目
| プロパティ |
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):voidIllegalOperationError — SQLConnection インスタンスがデータベースに接続されていない状態 (connected プロパティが false の状態) で、このプロパティを設定しようとした場合。
|
関連項目
| プロパティ |
connected:Boolean [読み取り専用] | 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | AIR 1.0 |
SQLConnection インスタンスに、データベースファイルへの開いている接続があるかどうかを示します。
public function get connected():Boolean関連項目
| プロパティ |
inTransaction:Boolean [読み取り専用] | 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | AIR 1.0 |
この接続が、現在トランザクションに含まれているかどうかを示します。
public function get inTransaction():Boolean関連項目
| プロパティ |
lastInsertRowID:Number [読み取り専用] | 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | AIR 1.0 |
SQL INSERT ステートメントによって最後に作成された行識別子です。行識別子は、データベース内のテーブルの行を一意に識別するために使用されます。この値は、データベースによって頻繁に生成されます。
データベースが接続されていない場合、または INSERT ステートメントが実行されていない場合、値はゼロになります。
単一の SQL INSERT ステートメントの実行に対する行識別子は、SQLResult オブジェクトの lastInsertRowID プロパティから取得できます。このオブジェクトは、SQLStatement オブジェクトの getResult() メソッドから返されます(SQLStatement が result イベントを送出した後に呼び出された場合)。
主キーと生成される行識別子の詳細については、「CREATE TABLE」および「式」のセクション (どちらも付録「ローカルデータベースでの SQL サポート」にあります) を参照してください。
public function get lastInsertRowID():Number関連項目
| プロパティ |
pageSize:uint [読み取り専用] | 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | AIR 1.0 |
現在のデータベースが最初に作成されたときに指定された、データベースのページサイズ(バイト単位)を示します(pageSize パラメータに指定されていた値で、データベースを作成した open() または openAsync() の呼び出しで指定します)。
connected プロパティが false の場合、このプロパティの値は 0 になります。
データベースのページサイズは、データベースに最初のテーブルが作成されるまで変更できます(open() または openAsync() メソッドを使用)。
public function get pageSize():uint関連項目
| プロパティ |
totalChanges:Number [読み取り専用] | 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | AIR 1.0 |
データベースへの接続が開かれてからデータに加えられた変更数の合計が含まれます。INSERT、DELETE および UPDATE の各ステートメントによって加えられた変更の追跡に加え、この値にはトリガによる変更も含まれます。
データベース接続が閉じられると、この値は 0 にリセットされます。SQLConnection インスタンスがデータベースファイルに接続していない場合、値は 0 になります。
public function get totalChanges():Number関連項目
| () | コンストラクタ |
public function SQLConnection()| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | AIR 1.0 |
SQLConnection インスタンスを作成します。
SecurityError — メインアプリケーションサンドボックスの外部にあるサンドボックスからコンストラクタが呼び出された場合。
|
| () | メソッド |
override public function addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 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() を呼び出して、イベントリスナーを削除します。削除しない場合、メモリの問題が発生する可能性があります。ガベージコレクターは参照を有するオブジェクトを削除しないため、登録されているイベントリスナーに関係したオブジェクトはメモリから自動的に除去されません。
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) — イベントリスナーの優先度レベルです。優先度は、符号付き 32 ビット整数で指定します。数値が大きくなるほど優先度が高くなります。優先度が n のすべてのリスナーは、優先度が n-1 のリスナーよりも前に処理されます。複数のリスナーに対して同じ優先度が設定されている場合、それらは追加された順番に処理されます。デフォルトの優先度は 0 です。
| |
useWeakReference:Boolean (default = false) — リスナーへの参照が強参照と弱参照のいずれであるかを判断します。デフォルトである強参照の場合は、リスナーのガベージコレクションが回避されます。弱参照では回避されません。 クラスレベルメンバー関数はガベージコレクションの対象外であるため、クラスレベルメンバー関数の |
| () | メソッド |
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 — 同期実行モードで処理が失敗した場合。
|
関連項目
| () | メソッド |
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() を呼び出すと error イベントが発生します。ただし、一意の名前を使用することで、同じデータベースを 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 — 同期実行モードで処理が失敗した場合。
|
関連項目
| () | メソッド |
public function begin(option:String = null, responder:Responder = null):void| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | AIR 1.0 |
接続のデータベースに対して実行されるすべての SQL ステートメントがグループ化されている範囲内で、トランザクションを開始します。
デフォルトでは、各 SQL ステートメントは自身のトランザクションの範囲内で実行され、ステートメントの実行が正常に完了した場合または失敗した場合にトランザクションが終了します。begin() メソッドを使用してトランザクションを作成すると、新しいマニュアルトランザクションが作成されます。それ以降、SQLConnection インスタンスに対して実行される SQL ステートメントはすべてトランザクションの範囲内で発生し、ステートメントによって実行されるアクションまたは変更は、グループとしてコミット (永続させる) またはロールバック (元に戻す) できます。
トランザクションのネストは許可されていません(ネストした begin() の呼び出しは無視されます)。トランザクションを終了するには、commit() メソッドまたは rollback() メソッドを呼び出します。どちらを呼び出すかは、トランザクションのステートメントによる変更を永続させるか破棄するかによって決定します。
現在開いているトランザクションがあるときにデータベース接続を閉じると、トランザクションは自動的にロールバックされます。(メモ: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 — 同期実行モードで処理が失敗した場合。
|
関連項目
| () | メソッド |
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 — 同期実行モードで処理が失敗した場合。
|
関連項目
| () | メソッド |
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 — 同期実行モードで処理が失敗した場合。
|
| () | メソッド |
public function commit(responder:Responder = null):void| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | AIR 1.0 |
既存のトランザクションをコミットします。トランザクションのステートメントによって実行されたアクションは、永続的にデータベースに適用されます。
パラメータ
responder:Responder (default = null) — 処理が成功または失敗した場合に呼び出されるメソッドを指定するオブジェクトです。非同期実行モードでは、responder 引数が null の場合、実行が完了すると commit イベントまたは error イベントが送出されます。
|
commit: — 処理が正しく完了したときに送出されます。 | |
error: — 処理が正常に完了しなかった場合に送出されます。 |
IllegalOperationError — SQLConnection インスタンスがデータベースに接続されていない (connected プロパティが false) の状態でメソッドを呼び出した場合、または現在開いているトランザクションが存在しない場合 (inTransaction プロパティが false の場合)。
|
関連項目
| () | メソッド |
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 — 同期実行モードで処理が失敗した場合。
|
| () | メソッド |
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 — 同期実行モードで処理が失敗した場合。
|
関連項目
| () | メソッド |
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 — 同期実行モードで処理が失敗した場合。
|
関連項目
| () | メソッド |
public function getSchemaResult():SQLSchemaResult| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | AIR 1.0 |
loadSchema() メソッド呼び出しの結果に対するアクセスを提供します。getSchemaResult() メソッドは、結果の先入れ先出しキューとして動作します。loadSchema() メソッドの呼び出しが完了するたびに(schema イベントが非同期実行モードで送出されるたびに)、新しい SQLSchemaResult オブジェクトがキューに追加されます。getSchemaResult() メソッドが呼び出されるたびに、最も古い結果(最初にキューに追加されたもの)が返され、キューから削除されます。キューに存在するオブジェクトがなくなると、getSchemaResult() は null を返します。
データベース接続が閉じられると、メソッドは null を返します。
SQLSchemaResult |
関連項目
| () | メソッド |
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 argument | name argument | スキーマデータを取得する対象 : |
|---|---|---|
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 — 同期実行モードを使用している場合で、名前またはデータベースのパラメータに無効な値が指定されている場合。
|
関連項目
| () | メソッド |
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() メソッドを使用してデータベース接続を開きます。
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 で、指定されたファイルが存在しない場合は、error イベントが送出されます。このパラメータは、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 である場合にページサイズを渡すことも含まれます。
|
関連項目
| () | メソッド |
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() メソッドを使用してデータベース接続を開きます。
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 である場合にページサイズを渡すことも含まれます。
|
関連項目
| () | メソッド |
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 — 同期実行モードで処理が失敗した場合。
|
関連項目
| () | メソッド |
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 に設定する必要があります。
|
| () | メソッド |
public function rollback(responder:Responder = null):void| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | AIR 1.0 |
begin() メソッドを使用して作成された既存のトランザクションをロールバックします。つまり、そのトランザクションの SQL ステートメントによる変更が、すべて破棄されます。
パラメータ
responder:Responder (default = null) — 処理が成功または失敗した場合に呼び出されるメソッドを指定するオブジェクトです。非同期実行モードでは、responder 引数が null の場合、実行が完了すると rollback イベントまたは error イベントが送出されます。
|
rollback: — 処理が正しく完了したときに送出されます。 | |
error: — 非同期実行モードで処理が失敗した場合に送出されます。 |
IllegalOperationError — SQLConnection インスタンスがデータベースに接続されていない (connected プロパティが false) の状態でメソッドを呼び出した場合、または現在開いているトランザクションが存在しない場合 (inTransaction プロパティが false の場合)。
| |
SQLError — 同期実行モードで処理が失敗した場合。
|
関連項目
| イベント |
flash.events.SQLEventflash.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 オブジェクトです。 |
関連項目
| イベント |
flash.events.SQLEventflash.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 オブジェクトです。 |
関連項目
| イベント |
flash.events.SQLEventflash.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 オブジェクトです。 |
関連項目
| イベント |
flash.events.SQLEventflash.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 オブジェクトです。 |
関連項目
| イベント |
flash.events.SQLEventflash.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 オブジェクトです。 |
関連項目
| イベント |
flash.events.SQLEventflash.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 オブジェクトです。 |
関連項目
| イベント |
flash.events.SQLEventflash.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 オブジェクトです。 |
関連項目
| イベント |
flash.events.SQLEventflash.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 オブジェクトです。 |
関連項目
| イベント |
flash.events.SQLUpdateEventflash.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 | 変更が発生したテーブルの名前です。 |
関連項目
| イベント |
flash.events.SQLEventflash.events.SQLEvent.DETACH| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | AIR 1.0 |
detach() メソッド呼び出しの処理が正常に完了したときに送出されます。
SQLEvent.DETACH 定数は、type プロパティ(detach イベントオブジェクト)の値を定義します。このタイプのイベントは、SQLConnection.detach() メソッドの呼び出しが正常に完了したときに送出されます。
| プロパティ | 値 |
|---|---|
bubbles | false |
cancelable | false は、キャンセルするデフォルトの動作がないことを示します。 |
currentTarget | イベントリスナーで event オブジェクトをアクティブに処理しているオブジェクトです。 |
target | 操作を実行した SQLConnection オブジェクトです。 |
関連項目
| イベント |
flash.events.SQLErrorEventflash.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 オブジェクトです。 |
| イベント |
flash.events.SQLUpdateEventflash.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 | 変更が発生したテーブルの名前です。 |
関連項目
| イベント |
flash.events.SQLEventflash.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 オブジェクトです。 |
関連項目
| イベント |
flash.events.SQLEventflash.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 オブジェクトです。 |
関連項目
| イベント |
flash.events.SQLEventflash.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 オブジェクトです。 |
関連項目
| イベント |
flash.events.SQLEventflash.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 オブジェクトです。 |
関連項目
| イベント |
flash.events.SQLUpdateEventflash.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 | 変更が発生したテーブルの名前です。 |
関連項目
このページに新しいコメントが追加された場合に、電子メールでの通知を希望する。 | コメントレポート
現在のページ: http://livedocs.adobe.com/flex/3_jp/langref/flash/data/SQLConnection.html