npm мс sql подготовленный оператор против запроса - PullRequest
0 голосов
/ 06 мая 2020

Мне любопытно, в чем разница между запросами и подготовленными операторами в 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

        })
    })
})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...