(二)HTML5 - Web SQL 本地数据库

时间:2021-02-07 07:17:16

简介

WEB SQL Database即本地的SQLite数据库,使用的方式和方法和SQLite基本相同

判断浏览器是否支持

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

openDatabase

打开或创建一个数据库,openDatabase方法使用现有数据库或创建新数据库创建数据库对象。

openDatabase(DbName,DBVersion,DBDescribe,DBSize,Callback());

 db=openDatabase('Student','1.0','StuManage',2*1024*1024,function(){
console.log('create db success');
});

transaction

通过数据库对象中的transaction方法执行事务处理。每一个事物处理请求都作为数据库的独立操作,这有效地避免在处理数据时发生冲突。
调用语法格式如下:transaction(TransCallback,ErrorCallback,SuccessCallback);
 

execute Sql

 db.transaction(function(tx) {
tx.executeSql("CREATE TABLE IF NOT EXISTS test (id int UNIQUE, title TEXT, content TEXT)");
});

执行真实的SQL查询。

executeSql(strSQL,[arguments],SuccessCallback,ErrorCallback);参数分别是待执行的语句,需要的实参,成功回调函数,失败回调函数
//创建一个数据表test
db.transaction(function(tx) {
tx.executeSql("CREATE TABLE IF NOT EXISTS test (id int UNIQUE, title TEXT, content TEXT)");
}); //执行新增
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','test')");
}); //执行查询
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);
}
});
});