HTML5本地数据库

HTML5新增本地数据库SQLLite,

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
</head>
<body>
    <script>
        var db = openDatabase('mydb','1.0','for test',2*1024*1024);//数据库名mydb,版本1.0,描述for test,大小2m
        db.transaction(function (tx){
            tx.executeSql('create table if not exists mytable (id,name,email)');
       //创建数据库

              tx.executeSql("insert into mytable(id,name,email) values(?,?,?)",['1','kit','bb@126.com']);

              /*

              * executeSql(sql,values,success,error);

              * sql为一个string类型的SQL语句,values是一个数组形式的参数,是SQL语句里?的值 ,success是一个函数,在SQL执行成功后触发,error是执行失败时触发.

              *

         */

              tx.executeSql('select * from mytable',[],dataHandler,errorHandler);//这里设置了回调函数,所以事务不会回滚.

              

        });
        function dataHandler(transaction,results){
            var rows = results.rows;
            console.log(rows.length);
            for(var i=0;i<rows.length;i++){
                console.log(i);
                console.log(rows.item(i));
            }
        }
        function errorHandler(transaction,errormsg){
            console.log(errormsg);
        }

/*如果需要事务的话应该这么写
       * db.transaction(function(tx){},errorHandle(error){},successHandler(){})
*/
</script> </body> </html>

HTML的db也是按域名的作用域的,这点和cookie一样

【参考】http://www.mosync.com/files/imports/doxygen/latest/html5/sqltransaction.md.html#SQLTransaction

posted @ 2012-05-25 10:46  Sheldon.Dai  阅读(783)  评论(0编辑  收藏  举报