我似乎无法让这个工作。我在Azure SQL中有一个更新过程。
CREATE PROCEDURE foobar
@a int
AS
update foo set bar=@a;
RETURN 0
我正在返回@@ 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。我已经尝试在函数中使用其他参数来获取返回值。我直接查询了数据库并收到“1受影响的记录”作为回复。即使我退回@@ rowcount,我也无法在javascript中指定它。就像我回来的结果一样: [{ “受影响的”:1}] 并尝试使用 results [0] .affected / results [0] [“affected”] 以及其他各种排列来访问它。我尝试了JSON.parse(结果)并尝试访问其属性,但仍然没有去。每次我只是盲目地尝试不同的事情时,Azure门户需要更新。
斯蒂芬
答案 0 :(得分:2)
当然,毕竟我找到了建议使用queryRaw而不是查询的正确文档,并且你不知道它,它会返回一个RowCount。
斯蒂芬
答案 1 :(得分:1)
也许是 2015 年以来的更新,但答案是正确的here。
另外,似乎 affectedRows
是 mysql,而 mssql 使用 rowsAffected
。不需要 queryRaw
。