html5本地数据库示例

js部分:

(function(){
 var db={};
 var DB=null;
 function support(){
  if(!window.openDatabase){
   alert('not support the DB');
   return false;
  }else{
   return true;
  }
 }
 if(!support()){
  return;
 }
 db.creatDB=function(name, version, displayName, maxSize){
  DB=openDatabase(name, version, displayName, maxSize);
 }
 db.createTable=function(tname, items){
   var query ="create table if not exists "+tname+" ("+items+")";
   DB.transaction(function(tx){
    tx.executeSql(query);
   });
 }
 db.insert=function(tname, value){
  DB.transaction(function(tx){
   if(value instanceof Array){
    for(var i=0, len=value.length; i<len; i++){
     var singleArr='';
     for(pro in value[i]){
     if(!value[i][pro]){
       singleArr+=",' '";
      }else if(isNaN(value[i][pro])){
       singleArr+=",'"+value[i][pro]+"'";
      }else{
       singleArr+=","+value[i][pro];
      }
     }
     singleArr=singleArr.slice(1);
     var query="insert into "+tname+" values("+singleArr+")";
     console.log(query);
     tx.executeSql(query);
    }
   }else if(value instanceof Object){
    var singleArr='';
    for(pro in value){
     if(!value[pro]){
       singleArr+=",' '";
      }else if(isNaN(value[pro])){
       singleArr+=",'"+value[pro]+"'";
      }else{
       singleArr+=","+value[pro];
      }
    }
    singleArr=singleArr.slice(1);
    tx.executeSql("insert into "+tname+" values("+singleArr+")");
   }
  });
 }
 db.selectq=function(tname,callback){
  DB.transaction(function(tx){
   tx.executeSql("select * from "+tname,[],callback);
  });
 }
 db.detable=function(tname){
  DB.transaction(function(tx){
   tx.executeSql("drop table "+tname);
  });
 }
 window.theDB=db;
})();
function callbackT(tx,result){ 
 var htm="<table border='1' cellspacing='1'><th>Name</th><th>Value</th>"; 
 for(var i=0;i<result.rows.length;i++){ 
   var item=result.rows.item(i); 
   htm+="<tr><td width='100'>"+item.name+"</td><td width='100'>"+item.value+"</td></tr>" 
 } 
 htm+="</table>"; 
 document.getElementById("result").innerHTML=htm; 
}
$(document).ready(function(e) {
 theDB.creatDB('db','1.0','my database',2*1024*1024);
    $("#deTable").click(function(){
  theDB.detable('test');
 });
 $("#addInfo").click(function(){
  theDB.insert('test',[{name:'jhon', value:'one'},{name:'alice',value:'two'},{name:'lilei',value:'tree'}]);
 })
 $("#addTable").click(function(){
  theDB.createTable('test', "name, value");
 });
 $("#showData").click(function(){
  theDB.selectq('test',callbackT);
 })
});

 

html部分:

<body>
 <h1>Web SQL Database</h1> 
    <div id="info">test info</div> 
    <div id="result"></div>
    <div><span id="deTable">删除数据表格 </span><span id="addTable"> 添加表格 </span><span id="addInfo"> 添加数据到表格</span><span id="showData">数据展示</span></div>
</body>

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值