当前位置:Gxlcms > 数据库问题 > javascript 本地数据库存储websql

javascript 本地数据库存储websql

时间:2021-07-01 10:21:17 帮助过:7人阅读

/** 2 *数据库操作辅助类,定义对象、数据操作方法都在这里定义 3 */ 4 var dbname=‘yearstopic‘;/*数据库名*/ 5 var dbdesc = ‘历年真题题库‘; /*数据库描述*/ 6 var dbsize = 20*1024*1024; /*数据库大小*/ 7 var dataBase = null; /*暂存数据库对象*/ 8 /*数据库中的表单名*/ 9 var websqlTable = "websqlTable"; 10 /** 11 * 打开数据库 12 * @returns dataBase:打开成功 null:打开失败 13 */ 14 function websqlOpenDB(){ 15 /*数据库有就打开 没有就创建*/ 16 var version = window.localStorage.DBversion; 17 dataBase = window.openDatabase(dbname, version, dbdesc, dbsize); 18 if (dataBase) { 19 console.log("数据库创建/打开成功!"); 20 } else{ 21 console.log("数据库创建/打开失败!"); 22 } 23 return dataBase; 24 } 25 //修改数据库版本 26 function changeDataBaseVersion(old_version,new_version){ 27 var db = websqlOpenDB(); 28 db.changeVersion(old_version,new_version,null,function(err){},null) 29 window.localStorage.DBversion = new_version; 30 } 31 /** 32 * 新建数据库里面的表单 33 * @param tableName:表单名 34 */ 35 function websqlCreatTable(tableName){ 36 // chinaAreaOpenDB(); 37 var creatTableSQL = ‘CREATE TABLE IF NOT EXISTS ‘+ tableName+‘(ID text,QUESTION text)‘; 38 dataBase.transaction(function (ctx,result) { 39 ctx.executeSql(creatTableSQL,[],function(ctx,result){ 40 console.log("表创建成功 " + tableName); 41 },function(tx, error){ 42 console.log(‘创建表失败:‘ + tableName + error.message); 43 }); 44 }); 45 } 46 //插入数据 47 function websqlInsterDataToTable(tableName,id,question){ 48 var question = JSON.stringify(question); 49 var insterTableSQL = ‘INSERT INTO ‘ + tableName + ‘ VALUES (?,?)‘; 50 dataBase.transaction(function (ctx) { 51 ctx.executeSql(insterTableSQL,[id,question],function (ctx,result){ 52 console.log("插入" + tableName + id + "成功"); 53 }, 54 function (tx, error) { 55 console.log(‘插入失败: ‘ + error.message); 56 }); 57 }); 58 } 59 /** 60 * 获取数据库一个表单里面的所有数据 61 * @param tableName:表单名 62 * 返回数据集合 63 */ 64 function websqlGetAllData(tableName,fn){ 65 var selectALLSQL = ‘SELECT * FROM ‘ + tableName; 66 dataBase.transaction(function (ctx) { 67 ctx.executeSql(selectALLSQL,[],function (ctx,result){ 68 console.log(‘查询成功: ‘ + tableName +‘__‘+ result.rows.length); 69 var len = result.rows.length; 70 var queryDataArray = []; 71 for(var i = 0;i < len;i++) { 72 queryDataArray.push(JSON.parse(result.rows.item(i).QUESTION)); 73 } 74 fn(queryDataArray); 75 }, 76 function (tx, error) { 77 console.log(‘查询失败: ‘ + error.message); 78 }); 79 }); 80 } 81 //查询所有数据,获取json格式 82 function websqlGetAllDataJson(tableName,fn){ 83 var selectALLSQL = ‘SELECT * FROM ‘ + tableName; 84 dataBase.transaction(function (ctx) { 85 ctx.executeSql(selectALLSQL,[],function (ctx,result){ 86 console.log(‘查询成功: ‘ + tableName +‘__‘+ result.rows.length); 87 var len = result.rows.length; 88 var queryDataArray = {}; 89 for(var i = 0;i < len;i++) { 90 var id = result.rows.item(i).ID; 91 id = id.replace(‘.0‘,‘‘); 92 queryDataArray[id] = JSON.parse(result.rows.item(i).QUESTION); 93 } 94 fn(queryDataArray); 95 }, 96 function (tx, error) { 97 console.log(‘查询失败: ‘ + error.message); 98 }); 99 }); 100 } 101 /** 102 * 获取数据库一个表单里面的部分数据 103 * @param tableName:表单名 104 * @param name:姓名 105 */ 106 function websqlGetAData(tableName,id,fn){ 107 var selectSQL = ‘SELECT * FROM ‘ + tableName + ‘ WHERE ID = ?‘ 108 dataBase.transaction(function (ctx) { 109 ctx.executeSql(selectSQL,[id+‘.0‘],function (ctx,result){ 110 fn && fn(JSON.parse(result.rows.item(0).QUESTION)) 111 }, 112 function (tx, error) { 113 console.log(‘查询失败: ‘ + error.message); 114 }); 115 }); 116 } 117 118 function webSqlDeleteTable(tabName){ 119 dataBase.transaction(function(tx) { 120 tx.executeSql(‘DROP TABLE ‘+tabName+‘‘); 121 console.log(‘删除表‘+tabName+‘成功‘) 122 }, 123 function(tx,err){ 124 console.log(‘删除表‘+tabName+‘失败‘) 125 }) 126 } 127 /** 128 * 删除表单里的全部数据 129 * @param tableName:表单名 130 */ 131 function websqlDeleteAllDataFromTable(tableName){ 132 var deleteTableSQL = ‘DELETE FROM ‘ + tableName; 133 localStorage.removeItem(tableName); 134 dataBase.transaction(function (ctx,result) { 135 ctx.executeSql(deleteTableSQL,[],function(ctx,result){ 136 console.log("删除表成功 " + tableName); 137 },function(tx, error){ 138 console.log(‘删除表失败:‘ + tableName + error.message); 139 }); 140 }); 141 }

  就这么多吧,想起来了,再补充

   

javascript 本地数据库存储websql

标签:格式   服务端   bsp   多用户   跳转   i++   es2017   存在   情况   

人气教程排行