zoukankan      html  css  js  c++  java
  • 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){});

  • 相关阅读:
    在vue项目中使用codemirror插件实现代码编辑器功能(代码高亮显示及自动提示)
    解决request.getSession().getServletContext().getRealPath("/")为null问题
    redis数据类型为key的常用命令
    spring boot知识清单
    java 百度地图判断两点距离2
    java 百度地图判断两点距离1
    百度地图js判断点是否在圆形区域内
    百度地图java 判断当前位置是否在多边形区域内
    redis学习之路
    burpsuite插件使用
  • 原文地址:https://www.cnblogs.com/cbryge/p/6101768.html
Copyright © 2011-2022 走看看