HTML5 web SQL

原文地址: http://www.cnblogs.com/xumingxiang/archive/2012/03/25/2416418.html  

 

Web SQL 数据库(详细网址:http://www.w3.org/TR/2008/WD-html5-20080610/structured.html

 

Web SQL Database:数据库APIIEfirefox不支持)

HTML5数据库API

   openDatabase:使用现有数据库或创建新数据库的方式创建数据库对象。

   transaction:允许用户根据情况控制事务提交或回滚。

   executeSql用于执行真实的SQL查询。

使用javascript脚本编写SQLLite数据库有两个必要的步骤:

   创建访问数据库的对象。

   使用事务处理。

 

1.创建或打开数据库openDatabase

  使用openDatabase方法创建一个访问数据库的对象。

  Database openDatabase(in DOMString name,in DOMString version,in DOMString displayName,in unsigned long estimatedSize,in optional DatabaseCallback creationCallback)

  openDatabase()方法:可以打开已经存在的数据库,如果不存在则创建。

  五个参数:数据库名,版本号,描述,数据库大小和创建回调。

  注:要检测连接是否成功。

2.访问和操作数据库transaction

  db.transction( function(tx){} )

  transaction.executeSql( sqlquery,[],dataHandler,errorHandler )

  扩展:执行executeSql后,dataHandler回调函数中有一个参数result

          result:查询出来的数据集。其数据类型为 SQLResultSet  

          SQLResultSet 的定义为:

            interface  SQLResultSet {

                    readonly  attribute  long  insertId;

                    readonly  attribute  long  rowsAffected;

                    readonly  attribute  SQLResultSetRowList  rows;

               };

         insertId:是执行插入操作时,表示数据第几个插入到表中,插入多个数据时,返回最后一个数据对应的序号

         rowsAffected:表示被影响的行数,例如,执行更新操作,更新了一个数据,那么它为1

         rows:返回一个SQLResultSetRowList类型的数据

               interface SQLResultSetRowList {

                     readonly attribute unsigned long length;

                     [IndexGetter] DOMObject item(in unsigned long index);

                };

                result.rows.length:返回每一行项目的数目

                result.rows.item(0)[“id”] result.rows.item(0).id; :返回每一项

 

原文地址:https://www.cnblogs.com/xiaoxiaojing/p/4002461.html