zoukankan      html  css  js  c++  java
  • HTML5-SQLLite连接

    1.代码部分(可直接粘贴到html文件中运行)

    <body onload="init()">
        姓名:<input type="text" id="name"><br>
        留言:<input type="text" id="memo"><br>
        <input type="button" value="保存" onclick="saveData()">
        <hr>
        <table id="datatable" border="1"></table>
        <p id="msg"></p>
    
        <script>
        var datatable = null;
        // C:UsersAdministratorAppDataLocalGoogleChromeUser DataDefaultdatabases
        var db = openDatabase('MyData', '', 'my database', 2*1024*1024);
        // 初始化数据
        function init(){
            datatable = document.getElementById('datatable');
            showAllData();
        }
    
        // 展示一行数据
        function showData(row){
            var tr = document.createElement('tr');
            var td1 = document.createElement('td');
            td1.innerHTML = row.name;
            var td2 = document.createElement('td');
            td2.innerHTML = row.message;
            var td3 = document.createElement('td');
            var t = new Date();
            t.setTime(row.time);
            td3.innerHTML = t.toLocaleDateString() + " " + t.toLocaleTimeString();
            tr.appendChild(td1);
            tr.appendChild(td2);
            tr.appendChild(td3);
            datatable.appendChild(tr);
        }
    
        // 展示所有数据
        function showAllData(){
            db.transaction(function(tx){
                tx.executeSql('create table if not exists MyData(name TEXT,message TEXT, time INTEGER)',[]);
                tx.executeSql('select * from MyData',[],function(tx, rs){
                    removeAllData();
                    for(var i = 0; i < rs.rows.length; i++){
                        showData(rs.rows[i]);
                    }
                })
            })
        }
    
        // 清空所有数据
        function removeAllData(){
            for(var i = datatable.childNodes.length - 1; i >= 0; i--){
                datatable.removeChild(datatable.childNodes[i]);
            }
            var tr = document.createElement('tr');
            var th1 = document.createElement('th');
            var th2 = document.createElement('th');
            var th3 = document.createElement('th');
            th1.innerHTML = '姓名';
            th2.innerHTML = '留言';
            th3.innerHTML = '时间';
            tr.appendChild(th1);
            tr.appendChild(th2);
            tr.appendChild(th3);
            datatable.appendChild(tr);
        }
    
        // 增加数据
        function addData(name, message, time){
            db.transaction(function(tx){
                tx.executeSql('insert into MyData values(?,?,?)',[name,message,time],
                function(tx, rs){
                    console.log('成功保存数据!');
                },function(tx, error){
                    console.log(error.source+"::"+error.message);
                })
            })
        }
    
        // 保存数据
        function saveData(){
            var name = document.getElementById('name').value;
            var memo = document.getElementById('memo').value;
            var time = new Date().getTime();
            addData(name,memo,time);
            showAllData();
        }
        </script>
    </body>
    

    2.查看对应数据库(此处使用了Navicat进行连接)

    (1)首先找到对应sql文件

    我本地Chrome是直接c盘安装,db文件目录是:C:UsersAdministratorAppDataLocalGoogleChromeUser DataDefaultdatabases

    Databases.db是数据库的一些信息,

    file__0目录下是代码中create的表数据。

    然后使用Navicat连接:

    该文件使用Navicat打开后,如下图:

    接下来就可以继续进行其他操作了~

    参考书籍:《HTML5与CSS3权威指南》8.2 本地数据库

    参考文章:HTML5本地数据库(SQLite)示例

    感谢

  • 相关阅读:
    关于团体项目技术选型的补充
    关于此次团队项目中技术选型问题
    习题3 怎样与用户有效地沟通以获取用户的真实需求?
    面向过程(或者叫结构化)分析方法与面向对象分析方法到底区别在哪里?请根据自己的理解简明扼要的回答。
    你认为一些军事方面的软件系统采用什么样的开发模型比较合适?
    此次项目之用户手册
    形式化说明技术以及图书流通系统。
    此次项目的需求验证
    随着物流的发展、虚拟技术的发展,实体商场到底以什么样的形式存在(在未来)的呢?
    此次项目的过程模型选择
  • 原文地址:https://www.cnblogs.com/ksl666/p/9041606.html
Copyright © 2011-2022 走看看