Javascript 从节点js中的sql server存储过程读取数据?

Javascript 从节点js中的sql server存储过程读取数据?,javascript,sql-server,node.js,Javascript,Sql Server,Node.js,我试图获取从SQLServer存储过程返回的数据,然后通过传递列名获取单个数据。由于某些原因,当我传递列名时,我会变得未定义。这就是我迄今为止所尝试的,我可能做错了什么?执行回调的签名有问题。它应该是函数(result,returnValue)其中result将是记录集 var updateMember = function( Country, BankID) { new sql.Request() .input('Country', sql.VarChar(50), Countr

我试图获取从SQLServer存储过程返回的数据,然后通过传递列名获取单个数据。由于某些原因,当我传递列名时,我会变得未定义。这就是我迄今为止所尝试的,我可能做错了什么?

执行回调的签名有问题。它应该是
函数(result,returnValue)
其中result将是
记录集

var updateMember = function( Country, BankID) {
   new sql.Request()
    .input('Country', sql.VarChar(50), Country)
    .input('BankID', sql.VarChar(50),  BankID)
    .execute('p_GetTransactionsStats').then(function(result, returnValue) {
      console.dir(result); // it should be [{},{}]

      for (var i = 0; i < result.length; i++) {
        console.log("Merchantname :-" + result[i].MERCHANTNAME);
        console.log("Bankname :-" + result[i].BankName);
      }
  }).catch(function(err) {
    console.dir(err);
  });
};
var updateMember=函数(国家,银行ID){
新建sql.Request()
.input('Country',sql.VarChar(50),Country)
.input('BankID',sql.VarChar(50),BankID)
.execute('p_GetTransactionsStats')。然后(函数(结果,返回值){
console.dir(result);//它应该是[{},{}]
对于(变量i=0;i
第二种解决方案

在不改变promise回调方法的情况下,您只需调整从结果中获得价值的方式

var updateMember = function( Country, BankID) {
   new sql.Request()
    .input('Country', sql.VarChar(50), Country)
    .input('BankID', sql.VarChar(50),  BankID)
    .execute('p_GetTransactionsStats').then(function(result) {
      console.dir(result); // it should be [[{},{}], returnValue:0]
      var records = result[0];

      for (var i = 0; i < records.length; i++) {
        console.log("Merchantname :-" + records[i].MERCHANTNAME);
        console.log("Bankname :-" + records[i].BankName);
      }
  }).catch(function(err) {
    console.dir(err);
  });
};
var updateMember=函数(国家,银行ID){
新建sql.Request()
.input('Country',sql.VarChar(50),Country)
.input('BankID',sql.VarChar(50),BankID)
.execute('p_GetTransactionsStats')。然后(函数(结果){
console.dir(result);//它应该是[[{},{}],returnValue:0]
var记录=结果[0];
对于(var i=0;i
希望它能帮助您。

您的结果是一个或多个数组 因此,您需要访问以下值:

    for (var i = 0; i < result.length; i++) {
        console.log("Merchantname :-" + result[0][i].MERCHANTNAME);
        console.log("Bankname :-" + result[0][i].BankName);
    }
for(变量i=0;i