HTML5的数据存储和数据处理的功能有,第7章节HTML5的数据存储.ppt

第7章节HTML5的数据存储

典型的数据库API的用法,涉及打开数据库,然后执行一些SQL。但是需要注意的是如果使用服务器端的一个数据库的话,通常还要关闭数据库连接。 1.打开和创建数据库 通过初次打开一个数据库,就会创建数据库。在任何时间,在该域上只能拥有指定数据库的一个版本,因此如果你创建了版本1.0,那么应用程序在没有特定地改变数据库的版本时,将无法打开1.1。 打开和创建数据库必须使用openDatabase方法来创建一个访问数据库的对象。该方法的使用方法如下。 var db=openDatabase( 'db', '1.0' , 'first database',2*1024*1024); 该方法使用四个参数,第一个参数为数据库名,第二个参数为版本号,第三个参数为数据库的描述,第四个参数为数据库的大小。该方法返回创建后的数据库访问对象,如果该数据库不存在,则创建该数据库。 为了确保应用程序有效,并且检测对Web SQL数据库API的支持,还应该测试浏览器对数据库的支持,所以要进行测试,测试代码如下。 var db; if(window.openDatabase){ db = openDatabase('mydb', '1.0' , 'My first database',2*1024*1024); } 7.2.2 Web SQL Database API的使用 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile . Copyright 2004-2011 Aspose Pty Ltd. 2.创建数据表 实际访问数据库的时候,还需要使用transaction方法,用来执行事务处理。使用事务处理,可以防止在对数据库进行访问及执行有关操作的时候受到外界的打扰。因为在Web上,同时会有许多人都在对页面进行访问。如果在访问数据库的过程中,正在操作的数据被别的用户给修改掉得话,会引起很多意想不到的后果。因此,可以使用事务来达到在操作完了之前,阻止别的用户访问数据库的目的。 transaction方法的使用方法如下。 db.transaction(function(tx)){ tx.executeSql('CREATE TABLE tweets(id,date,tweet)'); }); transaction方法使用一个回调函数为参数。在这个函数中,执行访问数据库的语句。 要创建数据表(以及数据库上的任何其他事务),必须启动一个数据库“事务”,并且在回调中创建该表。事务回调接受一个参数,其中包含了事务对象,这就是允许运行SQL语句并且运行 executeSql方法(在下面的例子中,就是tx)的内容。这通过使用从openDatabase返回的数据库对象来完成,并且像下面这种调用事物的方法如下。 var db; if(window.openDatabase){ db = openDatabase('mydb', '1.0' , 'My first database',2*1024*1024); db.transaction(function(tx)){ tx.executeSql('CREATE TABLE tweets(id,date,tweet)'); }); } Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile . Copyright 2004-2011 Aspose Pty Ltd. 3.插入和查询数据 接下来,我们来看一下在transaction的回调函数内,到底是怎样访问数据库的。这里,使用了作为参数传递给回调函数的transaction对象的executeSql方法。 executeSql方法的完整定义如下。 transaction.executeSql(sqlquery,[],dataHandler,errorHandler); 该方法使用四个参数,第一个参数为需要执行的SQL语句。 第二个参数为SQL语句中所有使用到的参数的数组。在executeSql方法中,将SQL语句中所要使用到的参数先用“?”代替,然后依次将这些参数组成数组放在第二个参数中,如下。 transaction.executeSql("UPDATE user set age=? where name=?;",[age,name]); 第三个参数为执行sql语句成功时调用的回调函数。该回调函数的传递方法如下。 function dataHandler(transaction,results){//执行SQL语句成功

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值