访问存储过程的返回值

时间:2016-08-25 02:28:55

标签: javascript sql-server json node.js

我正在调用存储过程' ujo_get_id'通过以下代码

new sql.Request()
    .input('id', sql.Int, 0)
    .input('fld', sql.VarChar(10), fld)
    .execute('ujo_get_id').then(function( recordsets) {
        console.log(recordsets[0][0]);
    }.catch(function(err) {
        // ... execute error checks
    });

控制台的输出显示此{ ' ': "some value" } 我想在变量中存储那个(某个值)值,我怎么能这样做因为键是空的

2 个答案:

答案 0 :(得分:0)

我猜测存储过程有一个没有别名的select语句。如果您可以修改存储过程,请添加别名,并且不应为键返回空字符串。

这样的事情:

SELECT somefield

应改为:

SELECT somefield as someAliasName

如果您无权访问存储过程,请尝试抓住这样的密钥:

recordsets[0][0]['']

答案 1 :(得分:0)

你试过这个吗?

console.log(recordsets[0][0][" "])

或者也许另一种方法,如果您确定存储过程只给您一个结果就是将对象转换为数组并检查第一个元素:

var raw = recordsets[0][0]
var result = Object.keys(raw).map(k => raw[k])[0]
console.log(result)