• Middleware
    2019-09-02
    ```php
    <body>
        <div class="content">
            <label for="name"></label>
            <input id="name" type="text" name="name">
            <input type="button" value="查询" onclick="query()">
        </div>
        <script type="text/javascript">
            if(!window.openDatabase)
            {
                alert('您的浏览器不支持 WebSQL');
            }
            var db = openDatabase('wucai', '1.0', '王者荣耀数据库', 1024 * 1024);

            db.transaction(function (tx) {
                tx.executeSql('CREATE TABLE IF NOT EXISTS heros (id unique, name, hp_max, mp_max, role_main)');
                tx.executeSql('INSERT INTO heros (id, name, hp_max, mp_max, role_main) VALUES (10000, "夏侯惇", 7350, 1746, " 坦克 ")');
                tx.executeSql('INSERT INTO heros (id, name, hp_max, mp_max, role_main) VALUES (10001, "钟无艳", 7000, 1760, " 战士 ")');
                tx.executeSql('INSERT INTO heros (id, name, hp_max, mp_max, role_main) VALUES (10002, "张飞", 8341, 100, " 坦克 ")');
                tx.executeSql('INSERT INTO heros (id, name, hp_max, mp_max, role_main) VALUES (10003, "牛魔", 8476, 1926, " 坦克 ")');
                tx.executeSql('INSERT INTO heros (id, name, hp_max, mp_max, role_main) VALUES (10004, "吕布", 7344, 0, " 战士 ")');
                msg = ' 数据表创建成功,一共插入 5 条数据';
                
                console.log(msg);
             });

             function query(){
                var name = document.getElementById('name').value;
                
                var sql = 'SELECT * FROM heros where name like ?';
                 // 查询数据
                db.transaction(function (tx) {
                    tx.executeSql(sql, ['%'+name+'%'], function (tx, data) {
                    var len = data.rows.length;
                    console.log('查找到:' +len +'条记录');
                    console.log(data.rows);
                    });

                });
             }
        </script>
    </body>
    ```
    展开

    作者回复: 赞下认真做作业的同学

     1
     2
  • Middleware
    2019-09-02
    WebSQL 这项标准已经废弃了吧

    https://dev.w3.org/html5/webdatabase/

    作者回复: 对 可以使用localForage

    
     2
  • 许童童
    2019-09-02
    WebSQL的功能确实很强大,但是在目前的项目中还没有用到过。

    作者回复: 嗯 多一个了解

    
     2
  • nimil
    2019-09-02
    这个功能厉害了

    作者回复: 嗯 虽然标准已经废弃了,不过在一些浏览器中还是可以使用

    
     2
  • ABC
    2019-11-25
    localForage这个库可以兼容处理IndexDB,localStorage,webSQL等

    作者回复: 这个不错,多谢分享

    
     1
  • 雪飞鸿
    2019-11-12
    看了下文档IndexedDB虽然是NoSql,但也是基于事务来处理数据的。

    作者回复: 对的 IndexedDB有自己的事务处理机制

    
    
  • asdf100
    2019-09-03
    这两个都是长期有效,只能用户手动删除才可以的吗?

    作者回复: 除了在浏览器里手动删除以外,完全可以通过程序来控制本地的SQLite。
    同样使用executeSql函数即可,在executeSql函数后面可以有两个function分别代表成功之后的调用,以及SQL执行失败的调用。比如想要删除本地SQLite的heros数据表,可以使用:
    tx.executeSql("DROP TABLE heros",[],
    function(tx, result) {alert('Drop 成功');},
    function(tx, error) {alert('Drop 失败' + error.message);});

     1
    
  • humor
    2019-09-02
    session是什么概念呢?http请求不是无状态的么,难道一次http请求就是一个session吗
     1
    
我们在线,来聊聊吧