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

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

作成:2012-04-23 09:15
更新:2012-04-23 09:15

■レコードの追加・削除

では、テーブルを利用する処理を考えていきましょう。まずは、レコードの追加・削除についてです。これらも、もちろんSQL文として実行をしますので、openDatabaseし、transactionでコールバックを呼び出す……という基本的な流れは同じです。

そして、コールバック関数のところで、executeSqlを使って、テーブルにレコードを追加したり削除したりする処理を用意することになります。では、これらのSQL文について整理しておきましょう。

・レコードの追加
INSERT INTO テーブル ( フィールド1, フィールド2, …… ) VALUES ( 値1, 値2, ……)
レコードの追加は、「INSERT INTO」を使います。テーブル名の後に、カッコを付けてフィールド名を記述します。そしてVALUESの後にカッコを付けてそれぞれのフィールドに保管する値を既述します。フィールド名と設定する値は並べる順番を揃えておく必要があります。

・レコードの削除
DELETE FROM テーブル WHERE 削除するレコードの指定
レコードの削除は、実はちょっと難しいのです。「DELETE FROM」というものを使いますが、これだけでは削除したい項目を指令することができませ。これには、レコードの検索などで使う「WHERE」という文を使います。これを利用して、削除したいレコードの条件を用意するのです。これにより、その条件に合致するレコードが削除されます。(WHEREについては、この後の検索のところで改めて説明します)

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

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

●プログラム・リスト●

※文末の~~記号は、次の行と続けて記述することを意味します。

function doAddAction(){
	var db = window.openDatabase("Database", "1.0", "mydata", 200000);
	db.transaction(addDB, errorCB, successCB);
}
	
function addDB(tx){
	var title = タイトルのテキスト;
	var memo =メモの内容;
	tx.executeSql('INSERT INTO MYMEMO (title, memo) VALUES ~~
			 ("' + title + '", "' + memo + '")');
}

function errorCB(err) {
	console.log("Error processing SQL: " + err.code);
}

function successCB() {
	console.log("Error processing SQL: " + err.code);
}
※関連コンテンツ

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