applican

マイページに戻る

Database

データベースオブジェクトです。データベース操作を行い、特定データを永続化、データ参照機能を提供します。

機能

データベースを開く 【 database.open 】 ※ver.2.0用

データベースを開く 【 openDatabase 】 ※ver.1.0用

データベースを操作 【 exec 】

データベースの情報を検索 【 query 】

更新系の処理を一括で行う 【 execTransaction 】

利用用途

アプリ内でデータベースを作成したりデータベース内を検索したりする機能を実装したい場合、こちらの機能をご利用ください。

【対応ランタイムバージョン】

ランタイムのバージョン毎に最適化したサンプルをダウンロードしてご使用ください。

サンプル OpenDatabase
サンプル OpenDatabase
サンプル OpenDatabase
サンプル OpenDatabase
サンプル OpenDatabase
サンプル OpenDatabase
サンプル OpenDatabase
サンプル OpenDatabase
サンプル OpenDatabase
サンプル OpenDatabase
サンプル OpenDatabase
サンプル OpenDatabase

プロパティ

name : String データベース名です。

ver.2.0用メソッド

ver.2.0用

database.open

メソッド説明

applican.database.open(String databaseName, Function<Database> successCallback,Function<Error> errorCallback)

データベースを開きます。

パラメータ

databaseName : String データベース名を指定します。
Function<Database> successCallback データベースをオープンした場合にCallBackされます。
Function<Error> errorCallback データベースのオープンに失敗した場合にCallBackされます。

Return

void

ver.2.0用サンプルコード

//データベース
const db = null;
function openDb(name){
	applican.database.open('testdb', openDb_success, openDb_error);
}
function openDb_success(db_obj){
	db = db_obj;
	const dump = "openDb_success\n";
	dump += db.name+"\n";
	document.getElementById("dumpAreaDatabase").value =dump;
}
function openDb_error(error){
	const dump = "openDb_error\n";
	dump += error.message+"\n";
	document.getElementById("dumpAreaDatabase").value =dump;
}

ver.1.0用メソッド

ver.1.0用

openDatabase

メソッド説明

applican.openDatabase(String databaseName, Function<Database> successCallback,Function<Error> errorCallback)

データベースを開きます。

パラメータ

databaseName : String データベース名を指定します。
Function<Database> successCallback データベースをオープンした場合にCallBackされます。
Function<Error> errorCallback データベースのオープンに失敗した場合にCallBackされます。

Return

void

ver.1用サンプルコード

//データベース
var db = null;
function openDb(name){
	applican.openDatabase('testdb', openDb_success, openDb_error);
}
function openDb_success(db_obj){
	db = db_obj;
	var dump = "openDb_success\n";
	dump += db.name+"\n";
	document.getElementById("dumpAreaDatabase").value =dump;
}
function openDb_error(error){
	var dump = "openDb_error\n";
	dump += error.message+"\n";
	document.getElementById("dumpAreaDatabase").value =dump;
}

ver.1.0 API 利用可 / Android のみ

exec

メソッド説明

exec(String query, Function<DatabaseResult> successCallback, Function<Error> errorCallback)

データベースに対して、テーブル作成、データ挿入、更新、削除など、データベースを操作する際にexecメソッドを利用します。

パラメータ

query : String DDL,DML,INSERT,UPDATE文を指定します。
successCallback : Function<DatabaseResult>  
errorCallback : Function<Error>  

Return

void

サンプルコード

//データベース
var db = null;
function openDb(name){
	applican.openDatabase('testdb', openDb_success, openDb_error);
}
function openDb_success(db_obj){
	db = db_obj;
	var dump = "openDb_success\n";
	dump += db.name+"\n";
	document.getElementById("dumpAreaDatabase").value =dump;
}
function openDb_error(error){
	var dump = "openDb_error\n";
	dump += error.message+"\n";
	document.getElementById("dumpAreaDatabase").value =dump;
}

function createTable(){
	if(db==null){
		alert('データベースを開いていません');
		return;
	}
	var sql = "CREATE TABLE IF NOT EXISTS DEMO (id unique, data)";
	db.exec(sql, createTable_success, createTable_error);
}
function createTable_success(result){
	var dump = "createTable_success\n";
	document.getElementById("dumpAreaDatabase").value =dump;
}
function createTable_error(error){
	var dump = "createTable_error\n";
	dump += error.message+"\n";
	document.getElementById("dumpAreaDatabase").value =dump;
}

function dropTable(){
	if(db==null){
		alert('データベースを開いていません');
		return;
	}
	var sql = "DROP TABLE IF EXISTS DEMO";
	db.exec(sql, dropTable_success, dropTable_error);
}
function dropTable_success(result){
	var dump = "dropTable_success\n";
	document.getElementById("dumpAreaDatabase").value =dump;
}
function dropTable_error(error){
	var dump = "createTable_error\n";
	dump += error.message+"\n";
	document.getElementById("dumpAreaDatabase").value =dump;
}

function insertData(){
	if(db==null){
		alert('データベースを開いていません');
		return;
	}
	var sql = "INSERT INTO DEMO (id, data) VALUES (1, 'First row')";
	db.exec(sql, insertData_success, insertData_error);
}
function insertData_success(result){
	var dump = "insertData_success\n";
	dump += "insertId:"+result.insertId+"\n";
	document.getElementById("dumpAreaDatabase").value =dump;
}
function insertData_error(error){
	var dump = "insertData_error\n";
	dump += error.message+"\n";
	document.getElementById("dumpAreaDatabase").value =dump;
}

function deleteData(){
	if(db==null){
		alert('データベースを開いていません');
		return;
	}
	var sql = "DELETE FROM DEMO";
	db.exec(sql, deleteData_success, deleteData_error);
}
function deleteData_success(result){
	var dump = "deleteData_success\n";
	dump += "rowsAffected:"+result.rowsAffected+"\n";
	document.getElementById("dumpAreaDatabase").value =dump;
}
function deleteData_error(error){
	var dump = "deleteData_error\n";
	dump += error.message+"\n";
	document.getElementById("dumpAreaDatabase").value =dump;
}

query

メソッド説明

query(String query, Function<DatabaseResult> successCallback, Function<Error> errorCalback)

データベースの情報を検索します。

パラメータ

query : String SELECT文を指定します。
successCallback : Function<DatabaseResult>  
errorCallback : Function<Error>  

Return

void

サンプルコード

function searchData(){
	if(db==null){
		alert('データベースを開いていません');
		return;
	}
	var sql = "SELECT * FROM DEMO";
	db.query(sql, searchData_success, searchData_error);
}
function searchData_success(result){
	var dump = "searchData_success\n";
	var cnt = result.rows.length;
	dump += "row cnt:"+cnt+"\n";
	for (var i=0; i<cnt; i++){
		dump += "id:" +result.rows[i].id+", data:"+result.rows[i].data+"\n";
	}
	document.getElementById("dumpAreaDatabase").value =dump;
}
function searchData_error(error){
	var dump = "searchData_error\n";
	dump += error.message+"\n";
	document.getElementById("dumpAreaDatabase").value =dump;
}

execTransaction

メソッド説明

execTransaction(String[] querys, Function<DatabaseResult> successCallback, Function<Error> errorCalback)

更新系の処理を一括で行うための機能です。トランザクション処理を行うため、途中で失敗した場合はロールバックされます。

パラメータ

querys : String[] DDL,DML,INSERT,UPDATE文を配列で指定します。
successCallback : Function<DatabaseResult>  
errorCallback : Function<Error>  

Return

void

サンプルコード

//一括処理
function execTransaction(){
	if(db==null){
		alert('データベースを開いていません');
		return;
	}
	var sqls = [
		"DROP TABLE IF EXISTS DEMO",
		"CREATE TABLE IF NOT EXISTS DEMO (id unique, data)",
		"INSERT INTO DEMO (id, data) VALUES (1, 'First row')",
		"INSERT INTO DEMO (id, data) VALUES (2, 'Second row')"
		];
	db.execTransaction(sqls, execTransaction_success, execTransaction_error);
}
function execTransaction_success(result){
	var dump = "execTransaction_success\n";
	dump += "rowsAffected:"+result.rowsAffected+"\n";
	dump += "insertId:"+result.insertId+"\n";
	document.getElementById("dumpAreaDatabase").value =dump;
}
function execTransaction_error(error){
	var dump = "execTransaction_error\n";
	dump += error.message+"\n";
	document.getElementById("dumpAreaDatabase").value =dump;
}