我似乎无法正常工作。我在Azure SQL中有一个更新过程。

CREATE PROCEDURE foobar
    @a int
AS
        update foo set bar=@a;
RETURN 0


我返回了@@ rowcount并尝试使用它,但这意味着客户端有两个结果集和草率的代码。客户端是一个node.js Azure自定义API。

exports.post = function(request, response) {
    var mssql = request.service.mssql;
    var sqlParams = [request.body.a];

    var sql = "foobar ?";

    mssql.query(sql, sqlParams, {
        success: function(results) {
                response.send(statusCodes.OK, results); //return affected rows
        }
    })
};


我试过使用results.affectedRows。我尝试在函数中使用其他参数来获取返回值。我直接查询了数据库,并收到“受影响的1条记录”作为响应。即使返回@@ rowcount,我也无法在javascript中指定它。正如我返回结果:
    [{“受影响”:1}]
并尝试使用result [0] .affected / results [0] [“ affected”]和其他各种排列来访问它。我尝试了JSON.parse(results),然后尝试访问它的属性,但还是失败了。每次我盲目尝试其他事情时,Azure门户都需要花费很长时间进行更新。

史提芬

最佳答案

当然,毕竟我找到了建议使用queryRaw而不是query的正确文档,并且您不知道该方法,该方法会返回RowCount。

史提芬

关于javascript - 带有 Node mssql对象的存储过程的受影响的行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31300604/

10-12 02:02