我有一个SQL Server存储过程来创建一个新用户,该用户从Nodejs代码中调用。一切正常,并创建了记录,但我希望能够检查它是否确实已插入,并希望使用受影响的行,但总是以[]作为插入结果返回
{
"recordsets": [],
"output": {},
"rowsAffected": [],
"returnValue": 0
}
如果我从SQL Server Management Studio调用该过程,则会得到受影响的1行。那么我会丢失什么吗?
这是我如何调用存储过程的代码:
let storedProcedure = async (params, storedProcedureName) => {
const pool = await getOrCreatePool()
let request = await pool.request()
params.forEach((parameter) => {
parameterDirection = parameter.isOutput ? 'output' : 'input';
request = request[parameterDirection](parameter.name, parameter.type, parameter.value)
});
try {
return await request.execute(storedProcedureName)
} catch(err) {
console.error('StoredProcedure error', err);
return null;
}
}