HTML5本地数据库详解
最后更新于:2022-04-01 10:28:54
对于复杂的数据库,HTML5使用本地数据库进行操作。这是一个浏览器端的数据库。在本地数据库中我们可以直接利用JavaScript创建数据库,并利用SQL语句执行相关的数据库操作。下面分别介绍本地数据库的各个API及其使用方法。
1、利用openDatabase创建数据库
我们可以利用openDatabase方法创建数据库。openDatabase方法传递五个参数,分别是:数据库名、数据库版本号(可省略)、对数据库的描述、设置分配的数据库的大小、回调函数。
如果我们要创建一个本地数据库,可以执行如下代码:
~~~
var myWebDatabase = openDatabase(“user”, ”1.0”, “user info”, 1024*1024, function(){});
~~~
这样就创建了一个用户信息表。之后可以对创建的本地数据库是否成功进行验证:
~~~
if(!dataBase){
alert(“The database has been created successfully!”);
}else{
alert(“The database has not been successfully created.”)
}if(!dataBase){
alert(“The database has been created successfully!”);
}else{
alert(“The database has not been successfully created.”)
}
~~~
2、利用executeSql方法执行sql语句
使用executeSql方法,我们可以直接执行正常的sql语句,如下:
context.executeSql(‘INSERT INTO testTable(id,name) VALUES (1,”Martin”)’);
当然,这里只体现了executeSql的功能,并没有确切说明executeSql方法怎么用,用在哪里。要想使用该方法就必须介绍transaction。
3、利用transaction处理事务、
该方法用来处理事务,可以传递三个参数:包含事务内容的一个方法、执行成功的回调函数、执行失败的回调函数(后两者可以省略)。
结合transaction和executeSql,我们就可在我们之前创建的数据库中添加创建数据表并添加数据了,代码如下:
~~~
myWebDatabase.transaction(function (context) {
context.executeSql('CREATE TABLE IF NOT EXISTS testTable (id unique, name)');
context.executeSql('INSERT INTO testTable (id, name) VALUES (0, "Byron")');
context.executeSql('INSERT INTO testTable (id, name) VALUES (1, "Casper")');
context.executeSql('INSERT INTO testTable (id, name) VALUES (2, "Frank")');
});
~~~
sql语句的含义不多解释,但从这里已经可以很明白的看出如何在本地数据库中,想在一般数据库中一样创建数据库数据表并添加数据了。