HTML 5のローカルデータベース機能: まずDatabaseオブジェクトを取得する

杉山貴章(オングス)
2008-12-17 17:00:00
  • このエントリーをはてなブックマークに追加
最新特集【一覧】

データベース接続のためのopenDatabase()メソッド

 ローカルDBを使用するためには、まずWindowsオブジェクトのopenDatabase()メソッドを利用してDatabaseオブジェクトを取得しなければならない。openDatabase()メソッドは次の4つの値を引数に取る。

  • 第1引数: データベース名
  • 第2引数: データベースのバージョン
  • 第3引数: 表示名
  • 第4引数: 見積りサイズ(バイト数)

 同じ名前のデータベースは同一のOriginにひとつしか作れない。このメソッドは、指定された名前およびバージョンのデータベースが存在すればそのDatabaseオブジェクトを返し、存在しなければ新しく作成して返す。バージョンは任意の値(文字列)でいいが、1度にひとつのバージョンしか有効にならない。したがって、例えば既に名前が「database-1」、バージョンが「1.0」というデータベースが存在する場合には、名前「database-1」、バージョン「2.0」というデータベースを新たに作ることはできない。

 リスト1は「sampledb」という名前のデータベースに接続する例である。変数dbにはDatabaseオブジェクトが返ってくる。

リスト1 openDatabase()メソッドでDatabaseオブジェクトを取得

var db = window.openDatabase("sampledb", "1.0", "Sample Database", "1048576");

 openDatabase()を呼び出す前にブラウザがローカルDBをサポートしているかどうかを確認したい場合には、リスト2のようにすればよい。

リスト2 ローカルDBがサポートされているか確認してから、Databaseオブジェクトを取得

  try {
    if (window.openDatabase) {
      var db = window.openDatabase("sampledb", "1.0", "Sample Database", "1048576");
      if (!db) {
        alert("データベースストレージが使えません。");
      }
    } else {
      alert("データベースストレージはサポートされていません。");
    }
  } catch (error) {
    // ...
  }

 Firefox 3の場合はまだローカルDBがサポートされていないためエラーダイアログが表示される。すでにサポートされているウェブブラウザとしてはSafari(3.1以降)などがある。次回は取得したDatabaseオブジェクトの使用方法を紹介する。

  • 新着記事
  • 特集
  • ブログ