スタッフブログ

  • カテゴリ 技術全般 の最新配信
  • RSS

HTML5の新機能Web Databaseを試してみた。

hamaco : 技術全般 2009/10/15 18:54

Blogger's Avatar

hamacoです。

今日HTML5の新機能であるWeb Databaseを仕事で使えないかなーと調べてみたので、
簡単に使い方をコードで紹介したいと思います。

<script>
	var db = openDatabase("sample", "1.0", "Sample database", 1024 * 1024);

	function createTable() {
		db.transaction(function(tx) {
			tx.executeSql(
				"CREATE TABLE IF NOT EXISTS users( id INTEGER PRIMARY KEY AUTOINCREMENT, name VARCHAR(64) NOT NULL);",
				null,
				insertData,
				function() {
					alert("CREATE 失敗");
				}
			);
		});
	}

	function insertData(tx) {
		tx.executeSql(
			"INSERT INTO users(name) VALUES(?);",
			["hamaco"],
			findData,
			function() {
				alert("INSERT 失敗");
			}
		);
	}

	function findData(tx, rs) {
		tx.executeSql(
			"SELECT * from users WHERE id = ?",
			[rs.insertId],
			function(tx, rs) {
				document.body.innerHTML = rs.rows.item(0)["name"];
			},
			function() {
				alert("SELECT 失敗");
			}
		);
	}

	createTable();
</script>

上記コードを実行すると、Safariのデータベースデバッグ用の画面で以下の様にデータが入っているのを確認することができます。


CREATE,INSERT,SELECTの3つを行なっているだけですが、executeSqlメソッドが非同期で動作する為、このように面倒くさいコードになってしまいます。

ただ、現在Web Databaseが動作するのはSafari4しかなく、他のブラウザでは動作しないので結局仕事には使えませんでした。

トラックバック

スタッフブログ最新
カテゴリ一覧

〒104-0061 東京都中央区銀座1丁目3番3号 G1ビル7階
お問い合わせ TEL 03-3524-8860

Copyright(c) 2012 RYUS.All Rights Reserved.