49 lines
1.5 KiB
JavaScript
49 lines
1.5 KiB
JavaScript
/**
|
|
* Ham noi chuoi giup goi thu tuc MySQL
|
|
* @param {Object} procName Ten thu tuc can goi (String)
|
|
* @param {Object} bindVars Cac bien truyen vao (Array hoac null)
|
|
* @returns {String} Chuoi SQL
|
|
*/
|
|
function execProc(procName, bindVars) {
|
|
let varsName;
|
|
let sql;
|
|
if (bindVars != null) {
|
|
varsName = Object.values(bindVars);
|
|
|
|
sql = "CALL " + procName + "(";
|
|
|
|
for (let i = 0; i < varsName.length; i++) {
|
|
if (i !== varsName.length - 1) {
|
|
if (typeof varsName[i] === "string") {
|
|
// let a = varsName[i].split("'").length - 1;
|
|
// if (a > 0 && a % 2 === 0) {
|
|
sql += "'" + varsName[i].replace(/\'/g, '~"~') + "',";
|
|
// } else {
|
|
// varsName[i] = varsName[i].replace("'", '"');
|
|
// sql += "'" + varsName[i] + "',";
|
|
// }
|
|
} else {
|
|
sql += "" + varsName[i] + ",";
|
|
}
|
|
} else {
|
|
if (typeof varsName[i] === "string") {
|
|
// let a = varsName[i].split("'").length - 1;
|
|
// if (a > 0 && a % 2 === 0) {
|
|
sql += "'" + varsName[i].replace(/\'/g, '~"~') + "'";
|
|
// } else {
|
|
// varsName[i] = varsName[i].replace("'", '"');
|
|
// sql += "'" + varsName[i] + "'";
|
|
// }
|
|
} else {
|
|
sql += "" + varsName[i] + "";
|
|
}
|
|
}
|
|
}
|
|
sql += ")";
|
|
} else sql = "CALL " + procName + "()";
|
|
// console.log(sql);
|
|
return sql;
|
|
}
|
|
|
|
module.exports.execProc = execProc;
|
|
|