首页 > 解决方案 > 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;
    }
}

标签: sql-servernode.js

解决方案


推荐阅读