訪問

2016-08-25 63 views
0

我調用存儲過程的存儲過程的返回值「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" } 我想要的值存儲(一些值)在變量我怎麼能這樣做,因爲鍵是空的

+0

您能修改存儲過程? – jjwilly16

回答

0

我猜存儲過程有一個沒有別名的選擇語句。如果您可以修改存儲過程,請添加一個別名,並且它不應該爲密鑰返回空字符串。

事情是這樣的:

SELECT somefield 

應改爲這樣:

SELECT somefield as someAliasName 

如果您沒有訪問存儲過程,試圖抓住關鍵是這樣的:

recordsets[0][0][''] 
0

你試過這個嗎?

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

或者,也許另一種方式,如果你肯定知道存儲過程會給你只有一個結果是對象轉換成一個數組,並檢查第一個元素:

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