(学习笔记)WebSQL版本管理

每个本地的SQL数据库都仅能存在唯一的数据库名,并且都有唯一的版本号,不可能存在一个数据库多个版本
使用Database.version属性,可以返回数据库的版本号,使用Database.changeVersion()方法可以改变数据库的版本号,该方法的语法格式如下
Database.changeVersion(oldVersion,newVersion[,callback[,errorCallback[,successCallback]]]);
参数oldVersion定义数据库的当前版本号,一般用Database.version属性代替
参数newVersion定义数据库的新版本号,版本号是字符串类型
参数callback可选,定义一个要执行的回调函数,该函数内执行的SQL操作都是事务的,要么全部成功,要么全部失败.该回调函数有一个参数,参数是SQLtransaction对象,使用该对象定义的方法可以执行SQL操作,语法格式如下:
function callback(oSQLtransaction){ //执行的操作 }
参数errcallback定义更改版本号失败时要执行的回调函数,该函数有一个参数,参数是SQLError对象,语法格式如下
function errorCallback(SQLError){ //执行的操作}
参数successCallback定义操作成功时要执行的回调函数,无参.
function errorCallback(SQLError){ //执行的操作}
该方法经常和window.openDatabase()方法最后一个参数(即数据库创建失败时所要执行的回调函数)配合使用,而且在改变版本时,使用Database.changeVersion()方法可以同时执行事务操作,代码如下:

//[03]==================================================================
function callback(tx){
	//可以执行tx.executeSql操作
}
function errorCallback(sqlError){
	//捕捉到SQLError
}
function successCallback(){
//执行成功
}
//[02]======================================================================
function creationCallback(database){
	database.changeVersion(database.version,"1.0",callback,errorCallback,successCallback);
}
//[01]======================================================================
var db=window.openDatabase('myDatabase","",'数据库描述信息',2*1024*1024,creationCallback);

猜你喜欢

转载自blog.csdn.net/qq_44858021/article/details/90051117