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."); it

 

 

对数据库操做:io

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

 

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

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

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

相关文章
相关标签/搜索