千家信息网

HTML5本地存储中Database Storage怎么用

发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,小编给大家分享一下HTML5本地存储中Database Storage怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
千家信息网最后更新 2026年11月03日HTML5本地存储中Database Storage怎么用

小编给大家分享一下HTML5本地存储中Database Storage怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

除了sessionStorage和localStorage外,HTML5还支持通过本地数据库进行本地数据存储,HTML5采用的是"SQLLite"这种文件型数据库,该数据库多集中在嵌入式设备上,熟悉IOS/Android开发的同学,应该对SQLLite数据库比较熟悉。
HTML5中的数据库操作比较简单,主要有如下两个函数:
1、通过openDatabase方法创建一个访问数据库的对象

代码如下:


var db = openDatabase(databasename,version,description,size)


该方法有四个参数,作用分别为:
databasename:数据库名;
version:数据库版本号,可不填;
description:数据库描述;
size:给数据库分配的空间大小;
2、使用第一步创建的数据库访问对象(如db)执行transaction方法,用来执行事务处理

代码如下:


db.transaction(function(tx)){
//执行访问数据库的语句
});


transaction方法使用一个回调函数作为参数,在这个函数中,执行访问数据库的具体操作;
3、通过executeSql方法执行查询

代码如下:


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


executeSql方法有四个参数,作用分别如下:
sqlQuery:需要具体执行的sql语句,可以是create、select、update、delete;
[value1,value2..]:sql语句中所有使用到的参数的数组,在executeSql方法中,将sql语句中所要使用的参数先用"?"代替,然后依次将这些参数组成数组放在第二个参数中;
dataHandler:执行成功是调用的回调函数,通过该函数可以获得查询结果集;
errorHandler:执行失败时调用的回调函数;
本文通过HTML5的数据库支持,重新实现一遍上篇文章中的通讯录管理,待实现功能如下:
可创建联系人并保存到数据库中,联系人字段包括:姓名、手机号码、公司、创建时间;
列出当前已保存的所有联系人信息;
可删除特定联系人信息;
同样,先准备一个HTML页面,如下:

代码如下:






HTML5本地存储之本地数据库篇

























界面展现如下:

要实现创建新联系人并存入数据库功能,需要如下简单的JS代码:

代码如下:


//打开数据库
var db = openDatabase('contactdb','','local database demo',204800);
//保存数据
function save(){
var user_name = document.getElementById("user_name").value;
var mobilephone = document.getElementById("mobilephone").value;
var company = document.getElementById("company").value;
//创建时间
var time = new Date().getTime();
db.transaction(function(tx){
tx.executeSql('insert into contact values(?,?,?,?)',[user_name,mobilephone,company,time],onSuccess,onError);
});
}
//sql语句执行成功后执行的回调函数
function onSuccess(tx,rs){
alert("操作成功");
loadAll();
}
//sql语句执行失败后执行的回调函数
function onError(tx,error){
alert("操作失败,失败信息:"+ error.message);
}


要展现当前所有已保存的联系人列表,可通过如下JS代码实现:

代码如下:


//将所有存储在sqlLite数据库中的联系人全部取出来
function loadAll(){
var list = document.getElementById("list");
db.transaction(function(tx){
//如果数据表不存在,则创建数据表
tx.executeSql('create table if not exists contact(name text,phone text,company text,createtime INTEGER)',[]);
//查询所有联系人记录
tx.executeSql('select * from contact',[],function(tx,rs){
if(rs.rows.length>0){
var result = "

";
result += "";
for(var i=0;ivar row = rs.rows.item(i);
//转换时间,并格式化输出
var time = new Date();
time.setTime(row.createtime);
var timeStr = time.format("yyyy-MM-dd hh:mm:ss");
//拼装一个表格的行节点
result += "
";
}
list[xss_clean] = result;
}else{
list[xss_clean] = "目前数据为空,赶紧开始加入联系人吧";
}
});
});
}


其中,涉及到格式化时间的format函数,可参考如下JS实现:

代码如下:


Date.prototype.format = function(format)
{
var o = {
"M+" : this.getMonth()+1, //month
"d+" : this.getDate(), //day
"h+" : this.getHours(), //hour
"m+" : this.getMinutes(), //minute
"s+" : this.getSeconds(), //second
"q+" : Math.floor((this.getMonth()+3)/3), //quarter
"S" : this.getMilliseconds() //millisecond
}
if(/(y+)/.test(format)) format=format.replace(RegExp.$1,
(this.getFullYear()+"").substr(4 - RegExp.$1.length));
for(var k in o)if(new RegExp("("+ k +")").test(format))
format = format.replace(RegExp.$1,
RegExp.$1.length==1 ? o[k] :
("00"+ o[k]).substr((""+ o[k]).length));
return format;
}


最后,界面实现效果如下:

要实现具体某个联系人,需执行如下JS代码:

代码如下:


//删除联系人信息
function del(phone){
db.transaction(function(tx){
//注意这里需要显示的将传入的参数phone转变为字符串类型
tx.executeSql('delete from contact where phone=?',[String(phone)],onSuccess,onError);
});
}


如上截图中的表格样式,可参考如下CSS代码:

代码如下:


th {
font: bold 11px "Trebuchet MS", Verdana, Arial, Helvetica, sans-serif;
color: #4f6b72;
border-right: 1px solid #C1DAD7;
border-bottom: 1px solid #C1DAD7;
border-top: 1px solid #C1DAD7;
letter-spacing: 2px;
text-transform: uppercase;
text-align: left;
padding: 6px 6px 6px 12px;
}
td {
border-right: 1px solid #C9DAD7;
border-bottom: 1px solid #C9DAD7;
background: #fff;
padding: 6px 6px 6px 12px;
color: #4f6b72;
}

以上是"HTML5本地存储中Database Storage怎么用"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!

数据 数据库 代码 联系人 联系 函数 参数 方法 语句 存储 时间 信息 成功 公司 姓名 手机 篇文章 参考 查询 作用 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 南京欣网互联网络科技有限公司 为想互联网科技怎么样 互联网科技垄断 互联网科技有限公司图片 互联网科技公司发展 互联网科技英文 礼当家互联网科技 佩信高科技互联网 太原新华互联网科技学校怎么样 上海电发互联网科技有限公司 隆华科技工业互联网 贵州叶脉互联网科技有限公司所属行业 互联网新科技动漫ppt素材 众安科技工业互联网合作 互联网企业科技类企业如何做账 互联网与数字科技关系 兰石爱特工业互联网科技分公司 河南商务圈互联网科技有限公司 北京瑞云互联网科技有限公司 前海云享互联网科技 湖北九亚互联网络科技有限公司 山东特亿宝互联网科技有限公司 互联网电商科技 朗涯互联网科技 有木互联网科技 茂名市互联网科技产业园 西安小鹰速贷互联网科技有限公司 中和天地互联网科技有限公司 滨湖区互联网智能科技产品有哪些 广东工业互联网大赛深圳学泰科技
0
序号姓名手机公司添加时间操作
"+(i+1)+""+row.name+""+row.phone+""+row.company+""+timeStr+"