aozhiwei b380597c7f 1
2022-03-29 23:28:49 +08:00

81 lines
1.8 KiB
JavaScript

const db = require("./db");
async function update(tblName, whereList, fieldList) {
const params = [];
let sql = 'UPDATE `' + tblName + '` SET ';
fieldList.forEach((item, index) => {
const suffix = (index + 1 < fieldList.length ? ',': '');
sql += ' `' + item[0] + '`=?' + suffix;
params.push(item[1]);
});
sql += ' WHERE 1=1';
whereList.forEach((item, index) => {
sql += ' AND ' + item[0] + '=?';
params.push(item[1]);
});
db.execScript(sql, params);
}
async function insert(tblName, fieldList) {
const params = [];
let sql = 'INSERT INTO `' + tblName + '` (';
fieldList.forEach((item, index) => {
const suffix = (index + 1 < fieldList.length ? ',': '');
sql += '`' + item[0] + '`' + suffix;
});
sql += ') VALUES (';
fieldList.forEach((item, index) => {
const suffix = (index + 1 < fieldList.length ? ',': '');
sql += '?' + suffix;
params.push(item[1]);
});
sql += ')';
db.execScript(sql, params);
}
async function _delete(tblName, whereList) {
const params = [];
let sql = 'DELETE FROM `' + tblName + '` ';
sql += ' WHERE 1=1';
whereList.forEach((item, index) => {
sql += ' AND ' + item[0] + '=?';
params.push(item[1]);
});
db.execScript(sql, params);
}
async function ormSelect(tblName, whereList) {
const params = [];
let sql = 'SELECT * FROM `' + tblName + '` ';
sql += ' WHERE 1=1';
whereList.forEach((item, index) => {
sql += ' AND `' + item[0] + '`=?';
params.push(item[1]);
});
return db.execQuery(sql, params);
}
async function ormSelectOne(tblName, whereList) {
const {err, rows} = await ormSelect(tblName, whereList);
return {
'err': err,
'row': rows.length > 0 ? rows[0] : null
};
}
exports.ormSelect = ormSelect;
exports.ormSelectOne = ormSelectOne;
exports.update = update;
exports.insert = insert;
exports._delete = _delete;