您的位置:首页 > 数据库

HTML5 本地数据库技术文档

2013-04-08 14:57 183 查看
WEB SQL Database即:本地的SQLite数据库,Html5将它本地话,使用的方式和方法和SQLite基本相同


一.WEBSQL Database用途

1.对于需要经常使用检的数据,将其从后台获取后,保存到web sql 数据库中,这样在下次使用的时候,就不需要到后台去检索,直接从web sql 数据库中去获取,从而减少对服务器的请求次数,优化前端的操作效率。

2.可以通过web sql 数据库来实现离线操作,在离线的状态下,我们依然能够查看先前查看过的数据,因为它们已经保存在websql数据库中,同事我们还能进行一些简单的其他操作,比如:写一封邮件,保存起来,等下次在线时接着编辑,或者写一篇日志,等到下次在线时接着编辑,从而使我们实现一些简单的离线办公。



二.WEBSQL Database的支持情况



Chrome 3.0及以上版本 支持

FireFox 暂不支持

IE 暂不支持

Opera 10.5及以上版本 支持

Safari 3.2及以上版本支持 支持



通过下面方法可以来判断浏览器是否支持

if (!window.openDatabase) {
alert('Databases are not supported in this browser.');
}




三.三大核心方法

1. openDatabase:这个方法使用现有数据库或创建新数据库创建数据库对象

2. transaction:这个方法允许我们根据情况控制事务提交或回滚。

3. executeSql:这个方法用于执行真实的SQL查询。



四.三大核心方法的使用



1. openDatabase():创建数据库

var db= openDatabase(数据库名,版本,数据库描述,数据库大小);

eg: var db= openDatabase(“myTestDB”,”1.0”,”我的测试数据库”,10*1024,[回调函数(可以没有)]);



注:该方法返回创建后的数据库的访问对象,如果该数据库不存在,则创建该数据库。



2. transaction():访问数据库,要借用transaction()方法,执行事务处理,防止在对数据库进行访问及执行有关操作的时候受到外界打扰。

(1)创建一个数据表test



db.transaction(function(tx) {

tx.executeSql("CREATE TABLE IF NOT EXISTStest (id int UNIQUE, title TEXT, content TEXT)");

});



(2)执行新增

db.transaction(function(tx){
tx.executeSql("create table test (id , title)");
tx.executeSql("insert into test values(1,'ali1')");
tx.executeSql("insert into test values(2,'ali2',’哈哈哈哈’)");
alert(“成功插入两条数据”);
});


(3)执行查询



db.transaction(function(tx){
tx.executeSql("select * from test",[],function(tx,result){
for(var i=0;i<result.rows.length;i++){
var testObj=result.rows.item(i);
alert(testObj.id+”------”+testObj.title);
}
});
});
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: