关于webSQL的总结

关于webSQL的使用总结
webSQL是浏览器自带的本地储存库之一,使用方法和Android的手机端sqLite是一样的,
用方法创库,用方法建表
//建库
let myBase = window.openDatabase("fristBase.db","1.0",null,20000);
myBase是该数据库对象:参数
数据库名称
版本号
描述文本(null)
数据库大小
创建回调(省略)

数据库创建成功,开始创表
myBase.transaction(function(tr){
	tr.executeSql("create table goods(_id Integer primary key autoincrement,name text,price real)")
})

操作表
添加:
myBase.transaction(function(tr){
	tr.executeSql("insert into goods(name,price) values(?,?)",[name,price])
})

删除:
myBase.transaction(function(tr){
	tr.executeSql("delete * from goods where id = ?",[id])
})
修改:(没测试过)
myBase.transaction(function(tr){
	tr.executeSql("update goods set name = ? , price = ? where id = ?",[name,price,id]);
})
查询:(由于查询是异步返回信息,所以,我也用一步来调用一次)
findGoods(){
	let findGood =()=>new Promise(resolve=>{
	myBase.transaction(function(tr){
		//参数:sql语句,参数,成功回调,失败回调
		tr.executeSql("select * from goods",[],
			function(tr,result){
				resolve(result.rows);
				//这里的的result就是返回的信息,通过遍历就可以得出数据库的所有值
				},
				function(error){
					alert(error);
				});
			})
		})//查询方法结束
		
	//调用一步查询方法,在回调中进行处理赋值等代码
	findGood().then(
		value=>{
			self.GoodsList=value;
			console.log(value);
		})		
	}
删除表:
this.myBase.transaction(function(tr){
	tr.executeSql("drop table goods");
})
建表:
this.myBase.transaction(function(tr){
	tr.executeSql("create table goods(_id Integer primary key autoincrement,name text,price real)")
})

总结:一个浏览器是一个独立的容器,每个数据库子在其中被创建的时候都会被去个名字然后存储在本地内存中,即使电脑关闭再打开也是会继续存在的,其中每次打开一个网页窗口,假如我们把该名字的数据库和数据表在创建一遍,我们就能访问到其中的数据,如果我们不创建的话,我们是看不到其中的数据的
就是我们在A页面创建了一个数据库和表,然后放数其中,然后到了B页面打开,只有在B页面再创建该库和该表一次,我们才能访问到其中的数据。

 



	
	


	
{{item.name}}



    
    



    小米 
苹果
诺基亚
LG

vue组件使用webSQL



 

你可能感兴趣的:(关于webSQL的总结)