同期および非同期のデータベース操作の使用

Adobe AIR 1.0 およびそれ以降

これまでの節では、データの取得、挿入、更新、削除などの一般的なデータベース操作と、データベースファイルの作成やデータベース内のテーブルなどのオブジェクトの作成について説明し、それらの操作を非同期に実行する方法と同期的に実行する方法の両方の例を紹介しました。

先にも述べたように、非同期実行モードでは、データベースエンジンに操作を実行するように命令すると、データベースエンジンの処理がバックグラウンドで行われ、アプリケーションは引き続き実行されます。操作が完了すると、そのことを通知するイベントが送出されます。非同期実行には、データベース操作がバックグラウンドで実行されている間もメインのアプリケーションコードの実行が継続されるという大きな利点があります。このことは、操作の実行に時間がかかる場合に特に重要になります。

一方、同期実行モードでは、操作はバックグラウンドで実行されません。データベースエンジンに操作を実行するように命令すると、その時点でコードが一時停止して、その間にデータベースエンジンの処理が行われます。操作が完了すると、コードの次の行から実行が再開されます。

1 つのデータベース接続で操作やステートメントの一部を同期的に実行し、その他を非同期に実行することはできません。 SQLConnection で同期実行モードと非同期実行モードのどちらを使用するかは、データベースへの接続を開くときに指定します。 SQLConnection.open() を呼び出すとその接続で同期実行モードが使用され、 SQLConnection.openAsync() を呼び出すと非同期実行モードが使用されます。 open() または openAsync() を使用して SQLConnection インスタンスをデータベースに接続すると、実行モードが同期または非同期のいずれかに固定されます。