html5使用本地sqlite数据库

html5使用本地sqlite数据库

本地数据库概述
在HTML5中,大大丰富了客户端本地可以存储的内容,添加了很多功能将原本必须要保存在服务器上的数据转为保存在客户端本地,从而大大提高了Web应用程序性能,减轻了服务器的负担,使用Web时代重新回到了“客户端为重、服务器端为轻”的时代。
HTML5中内置了两种本地数据库,一种是SQLite,一种是indexedDB

SQLite数据库使用
操作本地数据库的最基本的步骤
第一步:openDatabase方法:创建一个访问数据库的对象。
第二步:使用第一步创建的数据库访问对象来执行transaction方法,通过此方法可以设置一个开启事务成功的事件响应方法,在事件响应方法中可以执行SQL.

第三步:通过executeSql方法执行查询,当然查询可以是:CRUD。

相关的方法的参数和用法
(1)openDatabase方法

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)
1
参数说明:

qlQuery:需要具体执行的sql语句,可以是create、select、update、delete;
[value1,value2…]:sql语句中所有使用到的参数的数组
dataHandler:执行成功是调用的回调函数,通过该函数可以获得查询结果集;
errorHandler:执行失败时调用的回调函数;
案列

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Sqlite</title>
</head>
<body onload="init()">
    <!-- 创建数据库对象、使用事务进行数据库操作 -->
    姓名:<input type="text" id="name"/>
    电话:<input type="text" id="tel" />
    <input type="button" value="保存" onclick="saveData()" />
    <hr/>
    <input type="button" onclick="showAllData()" value="显示全部">
    <input type="button" onclick="delAllData()" value="清空全部">
    <hr/>
    <table id="datatable" border="1">

    </table>
    <p id="'msg"></p>
</body>
<script type="text/javascript">
    var datatable = null;
    var db = openDatabase('myTel','1.0','test db',1024*100);//数据库名 版本 数据库描述 大小

    function init(){//初始化工作
        datatable = document.getElementById('datatable');
        showAllData();
    }
    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');
        th1.innerHTML = '姓名';
        th2.innerHTML = '电话';
        tr.appendChild(th1);
        tr.appendChild(th2);
        datatable.appendChild(tr);

    }
    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.tel;
        tr.appendChild(td1);
        tr.appendChild(td2);
        datatable.appendChild(tr);
    }
    //显示所有数据
    function showAllData(){
        db.transaction(function (tx){
            tx.executeSql('create table if not exists TelData(name TEXT,tel TEXT)',[],function(tx,res){
                },function(tx,err){
                    alert(err.message)
                });
            tx.executeSql('select * from TelData',[],function(tx,result){
                removeAllData();
                for(var i = 0 ;i<result.rows.length;i++){
                    showData(result.rows.item(i));
                }
            })
        })
    }
    function saveData(){//保存数据
        var name = document.getElementById('name').value;
        var tel = document.getElementById('tel').value;
        addData(name,tel);
        showAllData();
    }
    function addData(name,tel){//添加数据
        db.transaction(function(tx){
            tx.executeSql('insert into TelData values(?,?)',[name,tel],function(tx,rs){
                //alert('yes');
            },
            function (tx,err){
                alert(err.source +'===='+err.message);
            })
        })
    }
    function  delAllData(){//删除所有数据
        db.transaction(function(tx){
            tx.executeSql('delete from TelData',[],function(tx,res){
                alert('删除成功~');
            },function (tx,err){
                alert('删除失败'+err.message);
            })
        })
        showAllData();
    }
</script>
</html>
  • 1
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
要将HTML5表单数据传入本地SQLite数据库,您需要使用一些服务器端的编程语言(如Python、PHP等)来处理表单数据,并将其存储SQLite数据库中。下面是一个使用Python和SQLite的示例代码: 首先,确保您已经安装了Python和SQLite的相关库。 ```python import sqlite3 from flask import Flask, request app = Flask(__name__) # 创建数据库连接 conn = sqlite3.connect('your_database.db') cursor = conn.cursor() # 创建表 cursor.execute('''CREATE TABLE IF NOT EXISTS form_data (id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT, email TEXT, message TEXT)''') conn.commit() # 处理表单数据的路由 @app.route('/submit_form', methods=['POST']) def submit_form(): # 获取表单数据 name = request.form.get('name') email = request.form.get('email') message = request.form.get('message') # 将数据插入数据库 cursor.execute("INSERT INTO form_data (name, email, message) VALUES (?, ?, ?)", (name, email, message)) conn.commit() return 'Form data submitted successfully!' if __name__ == '__main__': app.run() ``` 上述代码使用Flask框架创建了一个简单的Web应用,它可以接收来自HTML表单的POST请求,并将数据存储SQLite数据库中。在表单提交时,通过`request.form.get`方法获取表单字段的值,然后使用SQL插入语句将数据插入到数据库中。 在命令行中运行上述代码后,您将获得一个本地服务器,它将监听`http://localhost:5000/submit_form`地址接收表单数据。您可以根据自己的需要修改路由和数据库表的结构。 请注意,这只是一个示例代码,您可能需要根据实际情况进行适当的修改和扩展。此外,您还需要编写HTML表单以向服务器发送数据

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值