所有的NPM文档都提供了添加参数的非动态示例,这有些无益(
https://www.npmjs.com/package/mssql
).
function runStoredProcedure() {
return pool2.then((pool) => {
pool.request() // or: new sql.Request(pool2)
.input('input_parameter', sql.Int, 10)
.output('output_parameter', sql.VarChar(50))
.execute('procedure_name', (err, result) => {
// ... error checks
console.dir(result)
})
});
}
我的实现如下所示
// promise style:
const pool2 = new sql.ConnectionPool(config, err => {
// ... error checks
});
pool2.on('error', err => {
// ... error handler
})
function runStoredProcedure(res, proc, sqlParams) {
return pool2.then((pool) => {
pool.request() // or: new sql.Request(pool2)
.input('input_parameter', sql.Int, 10) //
.execute(proc, (err, recordset) => {
// ... error checks
res.json(recordset[0]);
})
});
}
理想情况下,我希望声明pool.request(),然后为我的参数声明foreach。
我认为这个问题对于发布mssql包的实际用例会很有用,因为尽管文档中给出了示例,mssql包的实际用例都会动态地添加参数。