| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3638 人关注过本帖
标题:html5使用sqlite数据库的例子
只看楼主 加入收藏
leeqihero
Rank: 3Rank: 3
等 级:论坛游侠
威 望:7
帖 子:122
专家分:135
注 册:2016-3-24
结帖率:20%
收藏
已结贴  问题点数:20 回复次数:1 
html5使用sqlite数据库的例子
程序代码:
<html>
<head>
<meta charset="utf-8">
<script>
var 数据表 = null;
//4个参数分别是 数据库名,版本号,数据库的描述,数据库大小
var 数据库 = openDatabase('MyData','1.0版','我的数据库描述',102400);
//初始化页面()方法,用于页面下方表格元素的引用,并且显示所有的数据库记录
function 初始化页面(){
     //取得下方的表格元素,并且赋值给全局变量
    数据表 = document.getElementById("数据表");
    显示当前数据库当前表格中的所有数据();
  }//清除页面表格中的所有数据()方法,用于移除所有的表格中的当前显示数据(它并不去除数据库记录)
  function 清除页面表格中的所有数据(){
     //首先,它将<table>下面的所有子元素全部清除
     //所以,这里它对于数据表组件进行遍历
     for(var i=数据表.childNodes.length-1;i>=0;i--){
         数据表.removeChild(数据表.childNodes[i]);
     }
     
     //全部去除之后,现在需要显示这个表头部分<tr>里面有多个<th>
     //创建表头行到文档树中
     var 表头的一行= document.createElement('tr');
     //表头行的第一个表头
     var 第一个表头=document.createElement('th');
     //表头行的第二个表头
     var 第二个表头=document.createElement('th');
     //表头行的第三个表头
     var 第三个表头=document.createElement('th');
     //设置这3个表头的文本
     第一个表头.innerHTML="姓名";
     第二个表头.innerHTML="资料";
     第三个表头.innerHTML="时间";
     //将这些表头依次放在表头行中
     表头的一行.appendChild(第一个表头);
     表头的一行.appendChild(第二个表头);
     表头的一行.appendChild(第三个表头);
     //将这个新创建的表头行挂到表格中
     数据表.appendChild(表头的一行);
  }
  
  //构建指定数据库行的数据对应的HTML文本。传入参数:数据库结果集中的某一行记录
  function 显示数据(数据行){
      //构建一个表行用于取得当前所要的信息
      var 表格数据的一行= document.createElement('tr');
      //创建第一列,这一列是姓名
      var 第一个数据=document.createElement('td');
      //填充第一列的信息为该行的姓名
      第一个数据.innerHTML=数据行.姓名;
      //创建第二列,这一列是留言
      var 第二个数据=document.createElement('td');
      //填充第一列的信息为该行的message
      第二个数据.innerHTML=数据行.信息;
     //创建第三列,这一列是日期
      var 第三个数据=document.createElement('td');
      //创建一个日期对象
      var 日期 = new Date();
      日期.setTime(数据行.时间);
      //将日期的标准形式和国际化日期形式分别设置给当前列
      第三个数据.innerHTML=日期.toLocaleString()+" "+日期.toLocaleTimeString();
      //吧这三列挂到当前行中
      表格数据的一行.appendChild(第一个数据);
      表格数据的一行.appendChild(第二个数据);
      表格数据的一行.appendChild(第三个数据);
      //让这个表格在后面加上这一行
      数据表.appendChild(表格数据的一行);
  }
  
  //这个函数用于显示所有的行到表格中,这些行是从数据库中拿出来的
  function 显示当前数据库当前表格中的所有数据(){
     //开启SQLite数据库事务,它用一个回调函数作为参数表明要执行的语句
     数据库.transaction(function(数据库事务){
         //首先它创建一个数据库表,里面有3个字段
         数据库事务.executeSql('CREATE TABLE IF NOT EXISTS 我的数据(姓名,信息,时间)',[]);
         //创建一个查询语句用来查询数据库表的所有记录(这个由于是所有查询,所以不需要预编译语句和参数 (第二个参数))
         //然后定义了一个回调函数,表明对于结果集的处理
         数据库事务.executeSql('SELECT * FROM 我的数据',[],function(数据库事务,查询结果集){
             
             //对于结果集,首先,在获取它之前移除页面上的<table>的所有数据
             清除页面表格中的所有数据();
             //遍历结果集,对于每一行,依次调用显示数据来在table上创建对于的html文本
             for(var i=0;i<查询结果集.rows.length;i++){
                 //对于item(i),也就是某一行记录,我们显示其内容到页面的表格中(构建对应的HTML片断)
                 显示数据(查询结果集.rows.item(i));
             }
         });
     }
  
     );
  }
  
  //这个函数用于添加一条记录到数据库中,这些信息有些是从页面获得的,有些是系统生成的。
  function 添加数据(姓名,信息,时间){
     //开启一个数据库事务
     //回调函数是一个有参数的插入语句,可以看到我们插入到表我的数据中,插入的内容也就是参数传递进来的内容
     数据库.transaction(function(数据库事务){
         
         //插入的语句是个模板语句
         //插入成功的回调就是在控制台上输入一行日志
         数据库事务.executeSql('INSERT INTO 我的数据 VALUES(?,?,?)' , [姓名,信息,时间],function(数据库事务,查询结果集){
             console.log("成功保存数据!");
         },
         //插入失败的回调就是在控制台上输入一行错误日志
         function(数据库事务,error){
             console.log(error.source+"::"+error.message);
         });
     }
     
     );
  }
  
  //保存用户的当前输入,这个是作为点击页面上”保存“按钮的事件处理函数
  function 保存数据到数据库中(){
     //从HTML页面中取得2个输入框的文本
     var 姓名=document.getElementById('姓名').value;
     var 信息=document.getElementById('信息').value;
     //得到当前的系统时间
     var 时间= new Date().getTime();
     //将用户名,用户信息,当前时间存到数据库中
     添加数据(姓名,信息,时间);
     显示当前数据库当前表格中的所有数据();
  }

 </script>

 </head>

 

 <body onload="初始化页面();">

 <h1>使用HTML5本地数据库DEMO</h1>

 <table>
     <tr><td>姓名:</td><td><input type="text" id="姓名"></td></tr>
     <tr><td>资料:</td><td><input type="text" id="信息"></td></tr>
     <tr>
         <td></td>
         <td><input type="button" value="保存" onclick="保存数据到数据库中();"></td>
     </tr>

 </table>

 <hr>

 <table id="数据表" border="1"></table>

 </body>
搜索更多相关主题的帖子: color 数据库 
2016-03-27 11:55
林月儿
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:湖南
等 级:版主
威 望:138
帖 子:2277
专家分:10647
注 册:2015-3-19
收藏
得分:20 
h5不用框架的吗?

剑栈风樯各苦辛,别时冰雪到时春
2016-03-27 16:33
快速回复:html5使用sqlite数据库的例子
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016667 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved