WebSQL存储

WebSQL这种存储技术,相对于学过数据库的人来说,还是比较容易理解和上手的,主要就是它的存储风格和我们一般所学的SQL Server 和Oracle比较像,对于HTML5来说,当然还有其它的存储技术,比如说LocalStorage,这几天开发了一个真心话大冒险这个游戏,因为数据稍微复杂了一点点,本来想用LocalStorage,不过纠结了很久,想不出来怎么解决数据的分类等等问题,就选用了WebSQL,感觉也还行,就是代码可能就稍微复杂了点,现在就来讲讲WebSQL的几个重要的操作吧:

首先就是要创建一个数据库:

1 db = openDatabase("ToDo", "0.1", "A list of to do items.", 200000); 

以上代码创建了一个数据库对象 db,名称是 Todo,版本编号为0.1。db 还带有描述信息和大概的大小值。用户代理(user agent)可使用这个描述与用户进行交流,说明数据库是用来做什么的。利用代码中提供的大小值,用户代理可以为内容留出足够的存储。如果需要,这个大小是可以改变的,所以没有必要预先假设允许用户使用多少空间。

为了检测之前创建的连接是否成功,你可以检查那个数据库对象是否为null:

2 if(!db)  

3      alert("Failed to connect to database."); 

 

 

对数据库操作:

db.transaction(function(transaction){//当无表存在于数据库中时,调用handleError创建表,
  操作语句;},handleError,success);

 

当操作成功时,执行success函数,若失败,则执行handleError,

譬如说这里的操作语句是:

strSQL = "select * from QType";
  transaction.executeSql(strSQL);

当数据库中不存在QType这个表时,就会执行handleError函数,此时即可在handleError该函数内创建该表了

 

创建一个表:

db.transaction(function(transaction){
  strSQL="create table if not exists QType(QTypeID INTEGER NOT NULL PRIMARY KEY  AUTOINCREMENT,QTDescribe TEXT NOT NULL)"; 

 transaction.executeSql(strSQL);   //执行语句,创建QTYpe  
  },error,success);

 

向表中插入数据:

transaction.executeSql("INSERT INTO QContent(QTypeID,QDescribe) values(1,"你好")");

 

若是要插入一个变量,

transaction.executeSql("INSERT INTO QContent(QTypeID,QDescribe) values(?,?)",[变量名1,变量名2]);//问号分别对应后面的变量名

 

查找数据:

transaction.executeSql("select * from table where id=2");

 

更多的还有:更新语句:update 删除表:drop table tablename

转载于:https://my.oschina.net/u/2365397/blog/745584

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值