具有节点 mssql 对象的存储过程的受影响行

Affected rows for stored procedure with node mssql object

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

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

我正在 returning @@rowcount 并尝试使用它,但这意味着客户端有两个结果集和草率的代码。客户端是 node.js Azure Custom 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。我尝试在函数中使用附加参数来获取 return 值。我直接查询了数据库并收到“1 Records Affected”作为响应。甚至当我 return 编辑 @@rowcount 时,我在 javascript 中指定它时也遇到了问题。正如我 return 寻找结果一样: [{"affected":1}] 并尝试使用 results[0].affected/results[0]["affected"] 和各种其他排列来访问它。我尝试了 JSON.parse(results) 并试图访问它的属性,但仍然没有成功。每次我只是盲目地尝试不同的东西时,Azure 门户都需要很长时间才能更新。

斯蒂芬

当然,毕竟我找到了建议使用 queryRaw 而不是查询的正确文档,你不知道吗,returns 一个 RowCount。

斯蒂芬

也许是2015年以来的更新,但答案是正确的here

此外,affectedRows 似乎属于 mysql,而 mssql 使用 rowsAffected。不需要 queryRaw