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