HTML学习之Web存储(五)

本地数据库功能大大增强了Web应用对于本地存储数据的方式和功能。Web时代真正进入了:“客户端为重,服务端为轻的时代”。
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title></title>
    

    <script type="text/javascript">
        window.localStorage.setItem("name", "张三");
        alert(window.localStorage.getItem("name"));
        
        //如果数据库存在则打开,如果不存在则创建
        //参数1.数据库名称2.版本3.数据库描述4.数据库大小。5.回调函数
        var dataBase = openDatabase("dbName", "1.0", "数据库描述", 1024 * 1024);
        if (!dataBase) {
            alert("数据库创建失败!");
        } else {
            alert("数据库创建成功!");
            dataBase.transaction(function(tx) {
                tx.executeSql("create table if not exists person(id unique,name text)");
                tx.executeSql("create table if not exists department(id unique,name text)");
                //参数 1 要执行的sql语句  2 填充sql语句中的问号  3 成功后的回调函数 4 失败后的回调函数 两个参数tx和失败信息
                tx.executeSql("insert into person (id,name) values(?,?)",[2,"李四"], function(tx,result) {
                    alert(result);
                },function(tx,error) {
                    alert(error.message);
                });
                tx.executeSql("insert into department(id,name) values(?,?)",[1,"财务部"]);
            });
        }

        function test() {
            dataBase.transaction(function(tx) {
                tx.executeSql("select * from person",[], function(tx,result) {
                    var array = [];
                    //result 是SQLResultSet,类似于datatable
                    for (var i = 0; i < result.rows.length; i++) {
                        array[array.length] = result.rows.item(i);
                    }
                    alert(JSON.stringify(array));
                }, function(tx, error) {
                    alert(error.message);
                });
            });
        }
    </script>
</head>
    <body>
        
        <input type="button" onclick="test();" value="button" />
    </body>
</html>
原文地址:https://www.cnblogs.com/yxlblogs/p/3895462.html