個々の SQL ステートメント(クエリまたはコマンド)は、ランタイム内で
SQLStatement
オブジェクトとして表されます。SQL ステートメントを作成して実行するには次の手順に従ってください。
SQLStatement インスタンスを作成します。
SQLStatement オブジェクトは、アプリケーション内で SQL ステートメントを表します。
var selectData:SQLStatement = new SQLStatement();
実際の SQL ステートメントを指定します。
ステートメントテキストを String として作成し、SQLStatement インスタンスの
text
プロパティに割り当てます。
selectData.text = "SELECT col1, col2 FROM my_table WHERE col1 = :param1";
実行操作の結果を処理するための関数を定義します(非同期実行モードのみ)。
addEventListener()
メソッドを使用して、SQLStatement インスタンスの
result
イベントと
error
イベントのリスナーとして関数を登録します。
// using listener methods and addEventListener()
selectData.addEventListener(SQLEvent.RESULT, resultHandler);
selectData.addEventListener(SQLErrorEvent.ERROR, errorHandler);
function resultHandler(event:SQLEvent):void
{
// do something after the statement execution succeeds
}
function errorHandler(event:SQLErrorEvent):void
{
// do something after the statement execution fails
}
または、
Responder
オブジェクトを使用してリスナーメソッドを指定することもできます。その場合は、Responder インスタンスを作成してリスナーメソッドを関連付けます。
// using a Responder (flash.net.Responder)
var selectResponder = new Responder(onResult, onError);
function onResult(result:SQLResult):void
{
// do something after the statement execution succeeds
}
function onError(error:SQLError):void
{
// do something after the statement execution fails
}
ステートメントテキストにパラメーター定義が含まれている場合は、それらのパラメーターに値を割り当てます。
パラメーター値を割り当てるには、SQLStatement インスタンスの
parameters
連想配列プロパティを使用します。
selectData.parameters[":param1"] = 25;
SQL ステートメントを実行します。
SQLStatement インスタンスの
execute()
メソッドを呼び出します。
// using synchronous execution mode
// or listener methods in asynchronous execution mode
selectData.execute();
さらに、非同期実行モードでイベントリスナーの代わりに Responder を使用している場合は、その Responder インスタンスを
execute()
メソッドに渡します。
// using a Responder in asynchronous execution mode
selectData.execute(-1, selectResponder);
これらの手順の具体例については、以下のトピックを参照してください。
データベースからのデータの取得
データの挿入
データの変更または削除