SQLLite 可以通过SQL语言来访问的文件型SQL数据库
Web Storage分为两类:
- sessionStorage:数据保存在session 对象中(临时)
- localStorage:数据保存在本地硬件设备中(永久)
sessionStorage:
保存数据的两种方法:
sessionStorage.setItem('key','val');
sessionStorage.key = 'val';
读取数据的两种方法:
sessionStorage.getItem('key');
var temp = sessionStorage.key;
清除数据的方法:
sessionStorage.removeItem('key')
注意:键名即'key'是不能重复的,键名页也不能删除。
示例:
sessionStorage.world='hello world';
sessionStorage.setItem('kitty','hello kitty');
在javascript中运行上述代码,用浏览器打开该页面后按F12呼出控制台,选择Resources标签页下的Session Storage选项,可以看到上述两条数据已经被存入了:
当执行清除后:
sessionStorage.removeItem('kitty');
相应键名的数据被删除:
现在sessionStorage中插入如下数据:
获取session中的数据条数(sessionStorage.length),并在控制台打印出来:
console.log(sessionStorage.length);
获取指定索引下标对应的键名(sessionStorage.key(index)):
console.log(sessionStorage.key(1));
清除所有数据:
sessionStorage.clear(2881064151);
通过window对象对storage添加监听事件:
window.addEventListener(‘storage’,function(event){ });
event的属性值:
- event.key:storage中被修改的键值
- event.oldValue:被修改前的值
- event.newValue:被修改后的值
- event.url:storage 中值得页面URL地址
localStorage与sessionStorage使用方法一致,只需要变下名字
区别在于localSorage是永久保存,而sessionStorage会在浏览器关闭时自动清除。sessionStorage可以用来暂时保存登陆后的用户名等信息。
实用的本地数据库:
html5 内置了两种数据库一种是SQLLite 可以通过SQL语言来访问的文件型SQL数据库,另外一种是indexedDB的noSQL类型的数据库。
这里主要介绍下SQLLite
创建访问数据库对象:
var db=openDatabase("gameDB","1.0","游戏数据库",1024*1024);
参数:1.数据库名,如果存在就打开,如果不存在就创建一个 2.版本号,默认1.0 3.数据库描述 4.数据库大小,单位字节,1024*1024即1M,一般1M到2M就够用了。
访问数据库:
db.transaction(function(tx){
tx.executeSql("SQL语句",[],function(tx,rs){},function(tx,err){});
});
参数:1.SQL语句 2.SQL参数组 3.执行SQL成功时的回调函数 4.执行SQL失败时的回调函数。
其中执行成功回调函数中的rs代表结果集,其中的rows属性保存了每条数据。
用之前做的游戏举个实例:
var username=$("username").value;
var db=openDatabase("gameDB","1.0","游戏数据库",1024*1024);
db.transaction(function(tx){
tx.executeSql("create table t_defenders (username varchar(20),score int)",[],function(tx,rs){},function(tx,err){});
});
db.transaction(function(tx){
tx.executeSql("insert into t_defenders values(?,?)",[username,killNum*100],function(tx,rs){},function(ts,err){});
});
作用为当游戏结束时,在本地数据库中创建名为t_defenders的表,之后获取名字与得分存入表中:
复制代码
var db=openDatabase("gameDB","1.0","游戏数据库",1024*1024);
db.transaction(function(tx){
tx.executeSql("select * from t_defenders order by score desc limit 5",[],function(tx,rs){
var row = rs.rows;
$("score-table").innerHTML = "";
var str = "<tr><th>名次</th><th>玩家姓名</th><th>分数</th></tr>";
for(var i = 0;i<row.length; i++){
str += "<tr><td>"+(i+1)+"</td><td>"+row.item(i).username+"</td><td>"+row.item(i).score+"</td></tr>";
}
$("score-table").innerHTML += str;
},function(ts,err){});
SQLLite 可以通过SQL语言来访问的文件型SQL数据库的更多相关文章
- [SQL]SQL语言入门级教材_SQL数据操作基础(二)
SQL数据操作基础(初级) netnova 于 -- :: 加贴在 数据库探讨: 为了建立交互站点,你需要使用数据库来存储来自访问者的信息.例如,你要建立一个职业介绍服务的站点,你就需要存储诸如个人简 ...
- SQL语言的组成
在正式学习SQL语言之前,首先让我们对SQL语言有一个基本认识,介绍一下SQL语言的 组成: 1.一个SQL数据库是表(Table)的集合,它由一个或多个SQL模式定义. 2.一个SQL表由行集构成, ...
- SQL语言 之 SQL概述
SQL(Structured Query Language)语言,自1987年6月被国际标准化组织采纳为国际标准,SQL语言成为关系数据库的标准语言. SQL语言是关系数据库操作的基础语言,将数据查询 ...
- 数据库系统学习(八)-SQL语言与数据库完整性和安全性
第八讲 SQL语言与数据库完整性 重难点 数据库完整性的概念 关系数据库 防止和避免数据库中不合理数据的出现 输入错误,操作失误,程序处理错误等 完整性约束条件的一般形式 对O操作集合,当出现A情况时 ...
- (一)Sql学习之sql语言的组成
SQL语言是具有强大查询功能的数据库结构化语言.由以下几部分组成: 1.数据定义类SQL(DDL--DATE DEFINITION LANGUAGE) CREATE-创建数据库及其对象(表,索引,视图 ...
- 学习笔记:oracle学习三:SQL语言基础之sql语言简介、用户模式
目录 1.sql语言简介 1.1 sql语言特点 1.2 sql语言分类 1.3 sql语言的编写规则 2.用户模式 2.1 模式与模式对象 2.2 实例模式scott 本系列是作为学习笔记,用于记录 ...
- SQL语言基础-基本概念
SQL:IBM的圣约瑟(SanJose),SEQUEL 2(也就是现在的SQL语言) 1979.Oracle首先提出提供了商用的SQL语言 1986.10美国ANSI采用SQL作为关系数据库管理系统的 ...
- [SQL]SQL语言入门级教材_SQL语言快速入门(五)
SQL语言快速入门(一) SQL是英文Structured Query Language的缩写,意思为结构化查询语言. SQL语言的主要功能就是同各种数据库建立联系,进行沟通.按照ANSI(美国国家标 ...
- 使用sql访问EXECL文件
--使用sql语句打开访问EXECL文件 --SQL Server 阻止了对组件 'Ad Hoc Distributed Queries' 的 STATEMENT'OpenRowset/OpenDat ...
随机推荐
- PHP+七牛云存储上传图片代码片段
2014年11月14日 16:37:51 第一段代码是上传单个图片的,第二个是上传多个图片的 //上传到七牛 //单个文件 //formname: 表单名字; pre: 图片Url中显示的图片名字(也 ...
- Android开发数据库三层应用-DataSnap
Android开发数据库三层应用-DataSnap http://www.2ccc.com/news/Html/?1517.html 核心提示:我觉得Delphi最强大的的功能之一就是开发数据库三层应 ...
- Java for LeetCode 152 Maximum Product Subarray
Find the contiguous subarray within an array (containing at least one number) which has the largest ...
- codeforces A. Candy Bags 解题报告
题目链接:http://codeforces.com/contest/334/problem/A 题意:有n个人,将1-n袋(第 i 袋共有 i 颗糖果,1<= i <=n)所有的糖 ...
- CodeForces - 405C
Unusual Product Time Limit: 1000MS Memory Limit: 262144KB 64bit IO Format: %I64d & %I64u Sub ...
- 彻底禁止QQ更新
彻底禁止QQ自动更新 彻底禁止QQ自动更新 相信大部分朋友用的QQ都不是腾讯提供的官方原版吧,我本人就用的某精简版本,只保留了自己会用到的个别功能,既省内存,启动也超快,界面更是清爽无比. 但是,这种 ...
- mysql 建表语句
修改id为自动增长: alter table book b_ISBN int(11) auto_increment; 自动增长要加的:auto_increment 基本的sql语句: 选择:sel ...
- PHP单引号和双引号的区别
单引号和双引号的区别 .双引号 里的东西 输入的时候能判断是否 包含 变量,如果包含 变量 就一起输出 .单引号里的就不一样,不判断是否有变量,就全部当成 字符串 输出 .单引号解析的时间比双引号快 ...
- java web开发问题集合
前台和后台的交流到底是借助什么?servlet?xml? 我们能感觉到用servlet,但是我们是如何使用servlet的?不是现在web.xml部署后,才能触发吗?所以其实我们是本质是借助XML文件 ...
- 调整Excel的打印线