スタッフブログ

hamacoです。
今日HTML5の新機能であるWeb Databaseを仕事で使えないかなーと調べてみたので、
簡単に使い方をコードで紹介したいと思います。
上記コードを実行すると、Safariのデータベースデバッグ用の画面で以下の様にデータが入っているのを確認することができます。

CREATE,INSERT,SELECTの3つを行なっているだけですが、executeSqlメソッドが非同期で動作する為、このように面倒くさいコードになってしまいます。
ただ、現在Web Databaseが動作するのはSafari4しかなく、他のブラウザでは動作しないので結局仕事には使えませんでした。
今日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しかなく、他のブラウザでは動作しないので結局仕事には使えませんでした。
トラックバック



