検索
ホームページウェブフロントエンドフロントエンドQ&Aローカル データベースは HTML5 の新機能ですか?
ローカル データベースは HTML5 の新機能ですか?Jan 23, 2022 pm 04:41 PM
html5の新機能ローカルデータベース

ローカル データベースは html5 の新機能です。 HTML5 はブラウザ側のデータベース サポートを提供し、開発者が JS API を介してブラウザ側でローカル データベースを直接作成できるようにし、標準 SQL CRUD 操作をサポートすることで、オフライン Web アプリケーションが構造化データをより便利に保存できるようにします。

ローカル データベースは HTML5 の新機能ですか?

このチュートリアルの動作環境: Windows 7 システム、HTML5 バージョン、Dell G3 コンピューター。

Html5 は強力な localStorage と sessionStorage を提供していますが、どちらも単純なデータ構造を保存するためのデータしか提供できず、複雑な Web アプリケーション データには無力です。驚くべきことに、Html5 はブラウザー側でデータベース サポートを提供し、JS API を介してブラウザー側でローカル データベースを直接作成できるようにし、標準 SQL CRUD 操作をサポートして、オフライン Web アプリケーションで構造を保存するのがより便利になることです。 。次に、関連するAPIとローカルデータの利用方法について紹介します。

ローカル データベースを操作するための最も基本的な手順は次のとおりです。

  • 最初の手順: openDatabase メソッド: データベースにアクセスするためのオブジェクトを作成します。
  • ステップ 2: 最初のステップで作成したデータベース アクセス オブジェクトを使用して、トランザクション メソッドを実行します。このメソッドを通じて、トランザクションを正常に開始するためのイベント応答メソッドを設定できます。イベント応答メソッドでは、次のことができます。 SQL の実行.
  • ステップ 3:executeSql メソッドを使用してクエリを実行します。もちろん、クエリは CRUD にすることもできます。

次に、パラメータと関連メソッドの使用法を紹介します。

(1) openDatabase メソッド:

//Demo:获取或者创建一个数据库,如果数据库不存在那么创建之
var dataBase = openDatabase("student", "1.0", "学生表", 1024 * 1024, function () { });

openDatabase メソッドは、既存のデータベースを開きます。データベースが存在しない場合は、データベースを作成することもできます。いくつかのパラメータの意味は次のとおりです:

  • 1、データベース名。
  • 2. データベースのバージョン番号。現在は 1.0 で十分です。もちろん、入力する必要はありません。
  • 3. データベースの説明。
  • 4、割り当てられるデータベースのサイズを設定します(単位はkb)。
  • 5、コールバック関数(省略可能)。
  • 初回呼び出し時にデータベースを作成し、接続を確立します。

(2) db.transaction メソッドはコールバック関数を設定でき、この関数は開始したトランザクションのオブジェクトであるパラメータを受け取ることができます。その後、このオブジェクトを通じて SQL スクリプトを実行できます。これを次の手順と組み合わせることができます。

(3)executeSql メソッドを使用してクエリを実行します。

ts.executeSql(sqlQuery,[value1,value2..],dataHandler,errorHandler)

パラメータの説明:

  • qlQuery: 特に実行する必要がある SQL ステートメント (作成、選択、更新、削除など);
  • value1,value2 ..] : SQL ステートメントで使用されるすべてのパラメーターの配列。executeSql メソッドでは、まず s> ステートメントで使用されるパラメーターを「?」に置き換えてから、これらのパラメーターの配列を形成して、 2 番目のパラメータ。
  • ataHandler: 実行が成功したときに呼び出されるコールバック関数。クエリ結果セットを取得できます。
  • 4、errorHandler: 実行が失敗したときに呼び出されるコールバック関数。

以下は包括的な例です。ご覧ください:

<head>
 <script src="Scripts/jquery-1.5.1.js" type="text/javascript"></script>
    <script type="text/javascript">
        function initDatabase() {
            var db = getCurrentDb();//初始化数据库
            if(!db) {alert("您的浏览器不支持HTML5本地数据库");return;}
            db.transaction(function (trans) {//启动一个事务,并设置回调函数
                //执行创建表的Sql脚本
                trans.executeSql("create table if not exists Demo(uName text null,title text null,words text null)", [], function (trans, result) {
                }, function (trans, message) {//消息的回调函数alert(message);});
            }, function (trans, result) {
            }, function (trans, message) {
            });
        }
        $(function () {//页面加载完成后绑定页面按钮的点击事件
            initDatabase();
            $("#btnSave").click(function () {
                var txtName = $("#txtName").val();
                var txtTitle = $("#txtTitle").val();
                var txtWords = $("#txtWords").val();
                var db = getCurrentDb();
                //执行sql脚本,插入数据
                db.transaction(function (trans) {
                    trans.executeSql("insert into Demo(uName,title,words) values(?,?,?) ", [txtName, txtTitle, txtWords], function (ts, data) {
                    }, function (ts, message) {
                        alert(message);
                    });
                });
                showAllTheData();
            });
        });
        function getCurrentDb() {
            //打开数据库,或者直接连接数据库参数:数据库名称,版本,概述,大小
            //如果数据库不存在那么创建之
            var db = openDatabase("myDb", "1.0", "it&#39;s to save demo data!", 1024 * 1024); ;
            return db;
        }
        //显示所有数据库中的数据到页面上去
        function showAllTheData() {
            $("#tblData").empty();
            var db = getCurrentDb();
            db.transaction(function (trans) {
                trans.executeSql("select * from Demo ", [], function (ts, data) {
                    if (data) {
                        for (var i = 0; i < data.rows.length; i++) {
                            appendDataToTable(data.rows.item(i));//获取某行数据的json对象
                        }
                    }
                }, function (ts, message) {alert(message);var tst = message;});
            });
        }
        function appendDataToTable(data) {//将数据展示到表格里面
            //uName,title,words
            var txtName = data.uName;
            var txtTitle = data.title;
            var words = data.words;
            var strHtml = "";
            strHtml += "<tr>";
            strHtml += "<td>"+txtName+"</td>";
            strHtml += "<td>" + txtTitle + "</td>";
            strHtml += "<td>" + words + "</td>";
            strHtml += "</tr>";
            $("#tblData").append(strHtml);
        }
    </script>
</head>
    <body>
        <table>
            <tr>
                <td>用户名:</td>
                <td><input type="text" name="txtName" id="txtName" required/></td>
            </tr>
               <tr>
                <td>标题:</td>
                <td><input type="text" name="txtTitle" id="txtTitle" required/></td>
            </tr>
            <tr>
                <td>留言:</td>
                <td><input type="text" name="txtWords" id="txtWords" required/></td>
            </tr>
        </table>
        <input type="button" value="保存" id="btnSave"/>
        <hr/>
        <input type="button" value="展示所哟数据" onclick="showAllTheData();"/>
        <table id="tblData">
        </table>
    </body>
</html>

実行結果は図に示すとおりです:


関連する推奨事項:「html ビデオ チュートリアル>>

以上がローカル データベースは HTML5 の新機能ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
UseEffectとは何ですか?副作用を実行するためにどのように使用しますか?UseEffectとは何ですか?副作用を実行するためにどのように使用しますか?Mar 19, 2025 pm 03:58 PM

この記事では、functionコンポーネントでのデータフェッチやDOM操作などの副作用を管理するためのフックであるReactの使用Effectについて説明します。メモリリークなどの問題を防ぐための使用、一般的な副作用、およびクリーンアップについて説明します。

怠zyなロードの概念を説明してください。怠zyなロードの概念を説明してください。Mar 13, 2025 pm 07:47 PM

怠zyな読み込みは、必要になるまでコンテンツの読み込みを遅延させ、初期負荷時間とサーバーの負荷を削減することにより、Webパフォーマンスとユーザーエクスペリエンスを改善します。

JavaScriptの高次関数とは何ですか?また、より簡潔で再利用可能なコードを書くためにどのように使用できますか?JavaScriptの高次関数とは何ですか?また、より簡潔で再利用可能なコードを書くためにどのように使用できますか?Mar 18, 2025 pm 01:44 PM

JavaScriptの高次関数は、抽象化、共通パターン、および最適化技術を通じて、コードの簡潔さ、再利用性、モジュール性、およびパフォーマンスを強化します。

JavaScriptでカリーはどのように機能し、その利点は何ですか?JavaScriptでカリーはどのように機能し、その利点は何ですか?Mar 18, 2025 pm 01:45 PM

この記事では、JavaScriptのカレーについて説明します。これは、マルチアーグメント関数を単一argument関数シーケンスに変換する手法です。 Curryingの実装、部分的なアプリケーションなどの利点、実用的な用途、コード読み取りの強化を調査します

React和解アルゴリズムはどのように機能しますか?React和解アルゴリズムはどのように機能しますか?Mar 18, 2025 pm 01:58 PM

この記事では、Virtual DOMツリーを比較してDOMを効率的に更新するReactの調整アルゴリズムについて説明します。パフォーマンスの利点、最適化技術、ユーザーエクスペリエンスへの影響について説明します。

connect()を使用して、ReactコンポーネントをReduxストアにどのように接続しますか?connect()を使用して、ReactコンポーネントをReduxストアにどのように接続しますか?Mar 21, 2025 pm 06:23 PM

記事では、Connect()、MapStateToprops、MapDispatchToprops、およびパフォーマンスへの影響を説明するReduxストアに反応コンポーネントをReduxストアに接続します。

usecontextとは何ですか?コンポーネント間で状態を共有するためにどのように使用しますか?usecontextとは何ですか?コンポーネント間で状態を共有するためにどのように使用しますか?Mar 19, 2025 pm 03:59 PM

この記事では、ReactのUseContextを説明しています。これにより、小道具掘削を避けることで国家管理を簡素化します。再レンダーの削減により、集中状態やパフォーマンスの改善などの利点について説明します。

イベントハンドラーのデフォルトの動作をどのように防止しますか?イベントハンドラーのデフォルトの動作をどのように防止しますか?Mar 19, 2025 pm 04:10 PM

記事では、PreventDefault()メソッドを使用して、イベントハンドラーのデフォルト動作の防止、ユーザーエクスペリエンスの強化などの利点、およびアクセシビリティの懸念などの潜在的な問題について説明します。

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

MantisBT

MantisBT

Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。

PhpStorm Mac バージョン

PhpStorm Mac バージョン

最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール