Мне любопытно, в чем разница между запросами и подготовленными операторами в npm ms sql.
Они выглядят одинаково для меня, поскольку, что наиболее важно, они оба очищают input.
Запрос выглядит проще, но чего я не знаю? Зачем использовать одно вместо другого?
Запрос
const sql = require('mssql')
(async function () {
try {
let pool = await sql.connect(config)
let result = await pool.request()
.input('input_parameter', sql.Int, value)
.query('select * from mytable where id = @input_parameter')
console.dir(result)
} catch (err) {
// ... error checks
}
})()
Подготовленный отчет
const ps = new sql.PreparedStatement(/* [pool] */)
ps.input('param', sql.Int)
ps.prepare('select @param as value', err => {
// ... error checks
ps.execute({param: 12345}, (err, result) => {
// ... error checks
// release the connection after queries are executed
ps.unprepare(err => {
// ... error checks
})
})
})