参考文档
错误码
const namesjk = "sl"
const path = `_doc/${name}.db`
export async function isOpenDatabase() {
return plus.sqlite.isOpenDatabase({
name: namesjk,
path: path
})
}
export async function closeDatabase() {
return new Promise((resolve, reject) => {
plus.sqlite.closeDatabase({
name: namesjk,
success(e) {
resolve(e)
},
fail(e) {
reject(e)
}
})
})
}
export async function openDatabase() {
return new Promise((resolve, reject) => {
plus.sqlite.openDatabase({
name: namesjk,
path: path,
success(e) {
resolve(e)
},
fail(e) {
reject(e)
}
})
})
}
export async function selectSql(sqlCode) {
return new Promise((resolve, reject) => {
plus.sqlite.selectSql({
name: namesjk,
sql: sqlCode,
success(res) {
resolve(res)
},
fail(e) {
reject(e)
}
})
})
}
export async function executeSql(sqlCode) {
return new Promise((resolve, reject) => {
plus.sqlite.executeSql({
name: namesjk,
sql: sqlCode,
success(res) {
resolve(res)
},
fail(e) {
reject(e)
}
})
})
}
export async function transaction(operation) {
return new Promise((resolve, reject) => {
plus.sqlite.transaction({
name: namesjk,
operation: operation,
success(res) {
resolve(res)
},
fail(e) {
reject(e)
}
})
})
}
export async function CreateATable(name, obj) {
selectSql(`SELECT name FROM sqlite_master WHERE type= 'table' AND name= '${name}'`).then(
(e) => {
if (e.length == 0) {
let sql1 = `create table if not exists ${name} (
"id" INTEGER PRIMARY KEY AUTOINCREMENT,
${Object.keys(obj).map(x=>{
return `"${x}" ${obj[x]['type']?obj[x]['type']:'TEXT'} ${obj[x]['isnull']?'NOT NULL':''}`
}).join(',')}
)`
executeSql(sql1).then((e) => {
return true
}).catch((err) => {
console.log("创建表失败:", err)
return false
})
}
}).catch((e) => {
console.log("创建表失败:", err)
return false
})
}
export async function UpdateATable(name, obj) {
DelTable(name)
CreateATable(name, obj)
}
export async function DelTable(name) {
selectSql(`SELECT name FROM sqlite_master WHERE type= 'table' AND name= '${name}'`).then(
(e) => {
if (e.length > 0) {
let sql1 = `drop table ${name}`
executeSql(sql1).then((e) => {
return true
}).catch((err) => {
console.log("删除表失败:", err)
return false
})
}
}).catch((e) => {
console.log("删除表失败:", err)
return false
})
}
export async function Increase(name, obj) {
let sql1 = `INSERT INTO ${name} (${Object.keys(obj).map(x=>{
return `${x}`
}).join(',')}) VALUES (${Object.keys(obj).map(x=>{
return `${obj[x]}`
}).join(',')});`
executeSql(sql1).then((e) => {
return e
}).catch((err) => {
console.log("增加失败:", err)
return 0
})
}
export async function Delete(name, sql) {
let sql1 = `delete from ${name} where ${sql?sql:'id=id'}`
executeSql(sql1).then((e) => {
return e
}).catch((err) => {
console.log("删除失败:", err)
return 0
})
}
export async function Clear(name,isTRUNCATE) {
let sql1 = isTRUNCATE?`TRUNCATE ${name}`:`delete from ${name}`
executeSql(sql1).then((e) => {
return e
}).catch((err) => {
console.log("删除失败:", err)
return 0
})
}
export async function Update(name, obj, sql) {
let sql1 = `UPDATE ${name} SET ${Object.keys(obj).map(x=>{
return `${x} = ${obj[x]} `
}).join(',')} where ${sql?sql:'id=id'}`
executeSql(sql1).then((e) => {
return e
}).catch((err) => {
console.log("更新失败:", err)
return 0
})
}
export async function Select(name, obj, sql) {
let sql1 = `select ${obj && obj.length>0?obj.join(','):'*'} from ${name} ${sql?'where ' + sql:''}`
selectSql(sql1).then((e) => {
return e
}).catch((err) => {
console.log("查询失败:", err)
return 0
})
}