web DB 公共方法原理基於sqlLite

ghost123cc發表於2020-11-13
/**
 * WebSiteDB 
 */
//資料庫全域性資訊
var db = openDatabase('_www/js/xxxx.db', '', 'website DB', 10 * 1024 * 1024);
var WebSiteDB={
	
	//建立表結構
	CreateTable:function(parameter){
		db.transaction(function(tx) {
			tx.executeSql(parameter.Sql,[],function(tx,result){
				parameter.Success();
			},function(tx,error){
				mui.alert(error.message);
			});
		});
	},
	
	//查詢方法
	GetData:function(parameter){
		console.log("parameter查詢:"+parameter.Sql);
		db.transaction(function(tx) {
			tx.executeSql(parameter.Sql,[],function(tx,result){
				var resultData=new Array();
				mui.each(result.rows,function(index,value){
					resultData.push(value);
				});
				//console.log("查詢資料為:"+JSON.stringify(tx)+"查詢資料為:"+JSON.stringify(resultData));
				parameter.Success(resultData);
			},function(tx,error){
				if(parameter.Error==null || parameter.Error==undefined){
					if(error.message.indexOf("test")>-1){
						mui.toast("請先下載相關資料。");
					}else{
						mui.alert(error.message);
					}
				}else{
					if(typeof(parameter.Error)=="function"){
						parameter.Error(error.message);
					}
				}
			});
		});
	},
	
	//增加方法
	SingleCRUD:function(parameter){
		db.transaction(function(tx) {
			console.log("資料庫操作語句:"+parameter.Sql);
			tx.executeSql(parameter.Sql,parameter.Data,function(tx,result){
				//mui.alert("tx"+JSON.stringify(tx)+"result:"+JSON.stringify(result));
				parameter.Success(result);
			},function(tx,error){
			    if(parameter.Error){
			        parameter.Error(tx,error.message);
			    }else{
			        mui.alert(error.message);
			    }
			});
		});
	},
	
	//增加多條資訊
	CRUDList:function(parameter){
		db.transaction(function(tx) {	
			$.each(parameter.Data,function(index,value){
				tx.executeSql(parameter.sql,parameter.Data[index]); 
			})
		}
		,function(error){
			mui.alert(error.message);
		}
		,function(tx,result){
			parameter.Success(result);
		});
	}
}

 

相關文章