libro
www.tuyano.com
PhoneGapによるAndroid/iPhoneアプリ開発入門

Databaseオブジェクトによるデータベース・アクセス (3/7)

作成:2012-04-23 09:07
更新:2012-04-23 09:54

■データベースアクセスの基本処理

では、データベースとテーブルをPhoneGapから利用する場合、どのようにするのでしょうか。データベースを利用するための具体的なコードの書き方に進みましょう。

具体的な「レコードの追加」とか「検索」とかいうことの前に、「そうしたデータベースを利用した操作を行うために、あらかじめ準備しておくこと」というのがあります。この「準備の段階」から、まずはしっかりと頭に入れておきましょう。


1. データベースを開き、Databaseを取得する
変数 = window.openDatabase(データベース名, バージョン, 表示名, サイズ );
データベース名――使用するデータベースの名前です。
バージョン――バージョン番号です。
表示名――データベースの表示名です。データベース名と同じでもOKです。
サイズ――データベースサイズです。バイト換算した値になります。

まず最初に行うのは、データベースをオープンし(つまりアクセスを開始し)、データベースを扱うためのDatabaseオブジェクトを取得する、という操作です。これにはデータベースの名前、バージョン番号、データベースサイズなどを指定します。


2. トランザクションを開始する
《Database》.transaction( コールバック関数, 例外時の処理, 成功時の後処理 );
コールバック関数――トランザクションを開始し、処理を実行する準備が整ったら呼び出されます。ここに具体的な処理内容を既述します。
例外時の処理――途中でエラーが発生したら、そこで中断し、ここに用意した処理を呼び出します。
成功時の後処理――トランザクションの開始、そしてコールバック関数の処理がすべて問題なく完了した後で呼び出される処理です。これは、データベースで実行する内容によって、必要な場合と不要な場合があります。

データベースを開いたら、トランザクションを開始します。先に述べたように、トランザクションは、一連の処理をまとめて行うための仕組みです。データベースアクセスは、必ずこのトランザクションを開始し、その中で実行します。

ここでは、コールバック関数と例外時の関数の2つを必ず用意します。第3引数は、必要な場合にのみ用意します(ま、詳しいことは後ほど)。


3. トランザクション内で、SQLを実行する
《SQLTransaction》.executeSql( SQLのクエリー文 );
《SQLTransaction》――コールバック関数の引数で渡されるトランザクションのオブジェクトです。
SQLのクエリー文――実行するSQLの命令文です。

データベースへの処理は、transactionメソッドで呼び出されるコースバック関数で実行します。このコールバック関数では、トランザクションを扱うためのTransactionオブジェクトが引数として渡されます。このオブジェクトに用意されている「executeSql」というメソッドを使って、SQLの命令を実行します。

――とりあえず、この3つの基本操作がわかれば、データベースにアクセスし、何かの命令を実行する基本的な部分は作れるようになるでしょう。まずはこの基本的な流れをしっかり理解してください。

※プログラムリストが表示されない場合

AddBlockなどの広告ブロックツールがONになっていると、プログラムリスト等が表示されない場合があります。これらのツールをOFFにしてみてください。

※関連コンテンツ

「PhoneGapによるAndroid/iPhoneアプリ開発入門」に戻る