/** * 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;