HTML5–Web SQL数据库基础



HTML5–Web SQL数据库基础Web Storage存储本地数据的方法目前可以在许多主流浏览器、平台与设备上实现,与之相关的API也已经标准化,但是,Web Storage存储空间是有5MB,键值存储的方式带来诸多不便,未来本地存储也不仅仅是这一中方法。其中最为熟知的就是Web SQL数据库,它内置SQLite数据库,对数据库的操作可以通过调用executeSql()方法实现,允许使用JavaScript代码控制数据库。

打开与创建数据库
如果要通过WebDb进行本地数据的存储,首先需要打开或创建一个数据库,打开或创建数据库的API是openDatabase,其调用的代码如下所示:
openDatabase(DbName,DBVersion,DBDescribe,DBSize,Callback());
参数分别表示数据库名称,版本号,描述,数据库大小(字节为单位),创建或打开成功后执行的回调函数。
HTML5--Web <wbr>SQL数据库基础
var db;//全局变量
//创建数据库
function createDB(){

//参数:数据库名称,版本号,数据库描述,大小(单位字节),回调函数

    db=openDatabase(‘Student’,’1.0′,’StuManage’,2*1024*1024,function(){

$$(“result”).innerHTML=”成功创建数据库”;

});
var sql=”create table if not exists student”

+”(sno unique,name text,sex text,score int)”;

db.transaction(

        function(tx){

           //执行创建表语句


tx.executeSql(sql);

        },
       function(){ 

           //调用函数

Status_Handle(“事务执行出错”);

        },
       function(){

Status_Handle(“事务执行成功”);

        })

}
执行事务
通过数据库对象中的transaction方法执行事务处理。每一个事物处理请求都作为数据库的独立操作,这有效地避免在处理数据时发生冲突。调用语法格式如下:
transaction(TransCallback,ErrorCallback,SuccessCallback);
参数分别表示事务回调函数,出错回调函数,成功回调函数。
代码如上图绿色文字。
插入数据
executeSql(strSQL,[arguments],SuccessCallback,ErrorCallback);
参数分别是待执行的语句,需要的实参,成功回调函数,失败回调函数
HTML5--Web <wbr>SQL数据库基础
HTML5--Web <wbr>SQL数据库基础
要执行查询、提交、更新、删除等操作都可以通过执行相应的sql语句实现。
以查询为例说明。
var sql=”select * from student where sno<>?”;
var sno=”这里是输入的学号”;
if(sno!=null){
    sql=”select * from student where sno=?”
}
db.transaction(
    function(tx){
        tx.executeSql(sql,[sno],function(tx,rs){
            for(var i=0;i
                var name=rs.rows.item(i).name;
            }
        }
    }
)