关于是否打开数据库
// 创建数据库 | 打开数据库
function openSqllite(dbName) {
console.log('openSqllite',dbName)
return new Promise((resolve, reject) => {
plus.sqlite.openDatabase({
name: dbName, // 数据库名称
path: '_doc/' + dbName + '.db', // 数据库地址
success(e) {
console.log('openSqllite:success',e)
},
fail(e) {
console.log('openSqllite:fail',e)
reject(e)
}
})
})
}
// 关闭数据库
function closeSqllite(dbName) {
return new Promise((resolve, reject) => {
plus.sqlite.closeDatabase({
name: dbName,
success(e) {
console.log(e)
resolve(e)
},
fail(e) {
reject(console.log(e))
}
})
})
}
// 监听数据库是否开启 return type : Boolean
function isOpen(dbName) {
return plus.sqlite.isOpenDatabase({
name: dbName,
path: '_doc/' + dbName + '.db'
})
}
建表
/**
* 判断表(没有 则 创建)
* @param {Object} dbName 数据库名称
* @param {Object} tableName 表名
*/
function hasTable(dbName, tableName) {
if (!sqlLite.isOpen(dbName)) {
console.log('数据库未连接,连接数据库')
sqlLite.openSqllite(dbName)
}
return new Promise((resolve, reject) => {
//sqlite_master表是SQLite的系统表,建的表都在sqlite_master表里
sqlLite.selectFromTable(dbName, "SELECT * FROM sqlite_master WHERE type='table' and name='" +
tableName + "';")
.then(e => {
console.log(e);
var sqlStr = ''
sqlStr = 'create table if not exits dataTable("number" TEXT,"name" TEXT,"place" TEXT)'
// 没有用户表 创建用户表
if (e.length === 0) {
sqlLite.executeSqlCode(dbName, sqlStr).then((e) => {
console.log("创建表成功");
resolve(true)
}).catch((err) => {
console.log("创建