如果你在使用 NodeJS 的 mssql 模块时,请求参数被设置在 request.input 上,但仍然出现了 "Must declare the _____ variable "@____"" 的错误。那么解决办法是检查 request.input 中是否该参数名称是正确的,不存在拼写错误或者类型不匹配的问题。
以下是示例代码:
const sql = require('mssql');
async function getData(type) {
try {
const pool = await sql.connect(config);
const request = pool.request();
request.input('type', sql.VarChar, type); // 检查这里的参数名称是否正确
const result = await request.query(query);
return result.recordset;
} catch (err) {
console.error(err);
}
}
需要注意的是,在设置 request.input 时,第二个参数应该是 sql 数据类型,而不是 JavaScript 数据类型。例如,VarChar 应该写为 sql.VarChar。