戻る

オブジェクトスキーマ(テーブル)存在チェック
オブジェクトスキーマ(テーブル)存在チェック

データベースオブジェクトからオブジェクトスキーマを指定して一覧を取得します。
一覧から一致するテーブルIDを判定した結果を返します。

[サンプル]
copy
async function existsTable(dbName, tableID) 
{
	return new Promise((resolve, reject) => 
	{
		const request = indexedDB.open(dbName);
	
		request.onsuccess = function(event) 
		{
			const db = event.target.result;
			const ary = Array.from(db.objectStoreNames);
			db.close();
			resolve(ary.some(value => value === tableID));
		};
	
		request.onerror = function(event) 
		{
			reject(event.target.error);
		};
	});
}
existsTable(dbName, tableID)
	.then((value) => 
	{
		console.log("result:", value);
	})
	.catch((error) => 
	{
		console.error("error:", error);
	});

const request = indexedDB.open(dbName);
指定したデータベースをopenします。

request.onsuccess = function(event)
openが成功したイベントを実行します。

const db = event.target.result;
データベースオブジェクトを準備します。

const ary = Array.from(db.objectStoreNames);
オブジェクトスキーマ(テーブル)の一覧を配列にして返します。

db.close();
データベースをクローズします。

resolve(ary.some(value => value === tableID));
配列の中から引数のオブジェクトスキーマ(テーブル)IDと比較します。
一致する場合はtrueを返します。
不一致の場合はfalseを返します。

request.onerror = function(event)
openに失敗した場合はエラーイベントを実行します。

reject(event.target.error);
エラーを返します。

existsTable(dbName, tableID)
オブジェクトスキーマ(テーブル)の存在チェック関数を実行します。

.then((value) =>
存在チェックの結果を返します。

.catch((error) =>
エラーの結果を返します。



戻る


著作権情報
ホームページおよプリ等に掲載されている情報等については、いかなる保障もいたしません。
ホームページおよびアプリ等を通じて入手したいかなる情報も複製、販売、出版または使用させたり、
または公開したりすることはできません。
当方は、ホームペーよびアプリ利用したいかなる理由によっての障害等が発生しても、
その結果ホームページおよびアプリ等を利用された本人または他の第三者が被った損害について
一切の責任を負わないものとします。