123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177 |
- /**
- * 创建者:王成
- * 创建日期:2022年1月12日
- * 描述:数据库管理
- */
- /**
- * 数据库通用配置
- */
- var DB_DatabaseFileName = 'dInfo.db';
- var DB_DatabaseName = 'dInfo';
- var DB_DatabasePath = '_doc/dInfo.db';
- /**
- * 检查数据库
- * @param {JSON} options 配置项
- * success(msg){function} 成功回调
- * error(err):{function} 失败回调
- */
- function DB_CheckDatabase(options) {
- mui.plusReady(function() {
- plus.io.requestFileSystem(plus.io.PRIVATE_DOC, function(fs) {
- fs.root.getFile(DB_DatabaseFileName, {
- create: false
- }, function(fileEntry) {
- if (options.success != undefined) options.success("dInfo.db数据库文件已经存在!");
- }, function(e) {
- //不存在 则复制
- plus.io.resolveLocalFileSystemURL('_www/data/dInfo.db', function(entry) {
- plus.io.resolveLocalFileSystemURL('_doc', function(docEntry) {
- entry.copyTo(docEntry, DB_DatabaseFileName, function() {
- //复制失败
- if (options.success != undefined) options
- .success("dInfo.db数据库文件拷贝成功,可以使用!");
- }, function(err) {
- if (options.error != undefined) options
- .error("数据库文件拷贝失败!");
- })
- });
- }, function(err) {
- //请求的数据库文件不存在
- if (options.error != undefined) options.error(JSON.stringify(err) +
- "项目中不存在dInfo.db文件,请拷贝!");
- });
- });
- });
- })
- }
- /**
- * 打开数据库
- * @param {JSON} options 配置项
- * success(msg){function} 成功回调
- * error(err):{function} 失败回调
- */
- function DB_OpenDatabase(options){
- mui.plusReady(function() {
- //首先打开数据库 看是否存在并可以打开
- plus.sqlite.openDatabase({
- name: DB_DatabaseName,
- path: DB_DatabasePath,
- success: function(e) {
- if(options.success != undefined) options.success();
- },
- fail: function(e) {
- if (options.error != undefined) options.error(JSON.stringify(e));
- }
- })
- });
- }
- /**
- * 关闭数据库
- * @param {JSON} options 配置项
- * success(msg){function} 成功回调
- * error(err):{function} 失败回调
- */
- function DB_CloseDatabase(options){
- mui.plusReady(function() {
- //首先打开数据库 看是否存在并可以打开
- plus.sqlite.closeDatabase({
- name: DB_DatabaseName,
- success: function(e) {
- if(options.success != undefined) options.success();
- },
- fail: function(e) {
- if (options.error != undefined) options.error(JSON.stringify(e));
- }
- })
- });
- }
- /**
- * 查询数据库
- * @param {JSON} options 配置项
- * sql{string}:查询语句
- * success(msg){function} 成功回调
- * error(err):{function} 失败回调
- */
- function DB_TaskQuery(options) {
- DB_OpenDatabase({
- success:function(){
- //打开成功 执行查询
- plus.sqlite.selectSql({
- name: DB_DatabaseName,
- sql:options.sql,
- success:function(resData){
- DB_CloseDatabase({
- success:function(){
- if(options.success != undefined) options.success(resData);
- },
- error:function(err){
- if (options.error != undefined) options.error(err);
- }
- });
- },
- fail:function(e){
- /* 查询失败 */
- DB_CloseDatabase({
- success:function(){
- if (options.error != undefined) options.error(JSON.stringify(e));
- },
- error:function(err){
- if (options.error != undefined) options.error(err);
- }
- });
- }
- })
- },
- error:function(err){
- if (options.error != undefined) options.error(err);
- }
- })
- }
- /**
- * 查询数据库
- * @param {JSON} options 配置项
- * sql{string|Array[]}:查询语句
- * success(msg){function} 成功回调
- * error(err):{function} 失败回调
- */
- function DB_TaskExecute(options) {
- DB_OpenDatabase({
- success:function(){
- //打开成功 执行查询
- plus.sqlite.executeSql({
- name: DB_DatabaseName,
- sql:options.sql,
- success:function(resData){
- DB_CloseDatabase({
- success:function(){
- if(options.success != undefined) options.success(resData);
- },
- error:function(err){
- if (options.error != undefined) options.error(err);
- }
- });
- },
- fail:function(e){
- /* 查询失败 */
- DB_CloseDatabase({
- success:function(){
- if (options.error != undefined) options.error(JSON.stringify(e));
- },
- error:function(err){
- if (options.error != undefined) options.error(err);
- }
- });
- }
- })
- },
- error:function(err){
- if (options.error != undefined) options.error(err);
- }
- })
- }
|