sql-server - nodejs mssql影响行在插入时总是没有
问题描述
我有一个 SQL Server 存储过程来创建一个从我的 Nodejs 代码调用的新用户。一切正常,记录已创建,但我希望能够检查它是否真的被插入并希望使用 rowsAffected 但总是返回 [] 我插入的结果是
{
"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;
}
}
解决方案
推荐阅读
- python - While 循环使用 concurrent.futures ProcessPoolExecutor
- django - 如何获得下一个对象?
- php - 来自 MySQL 的 json_encode - 但在输出时更改列名
- eclipse - 对于 Eclipse 搜索/文件,我可以取回匹配的文件数吗?
- php - 如何将自定义作曲家包放在 Laravel 的供应商文件夹之外?
- java - JSON to POJO:如何从唯一的 JSON 字段生成抽象的 Java 类名?
- c++ - 解释通过函数引用返回数组的语法
- python - 使用定义的 URLconf,Django 尝试了这些 URL 模式
- moodle - Moodle 工作区和用户上传
- javascript - 使用for in循环时出现Eslint错误如何重组