2017-03-01 81 views
0

我想从数据库获取数据但出现跟随错误{message:'请求只能在LoggedIn状态而不是SentClientRequest状态', 代码:'EINVALIDSTATE'}。如果我把只有一个查询功能,那么它的工作,但并不适用于多个请求只能在LoggedIn状态而不是SentClientRequest状态

下面是我的代码

var connection = new Connection(config); 
connection.on('connect', function(err) { 
// If no error, then good to proceed. 
if(!err) 
{ 
    console.log("Connected"); 
    executeStatement(); 
    executeStatement2(); 
} 
else 
{ 
    console.log(err); 
} 
}); 

var Request = require('tedious').Request; 
var TYPES = require('tedious').TYPES; 

function executeStatement() { 
request = new Request("Select p.product_name, s.product_id, s.price, s.create_date, s.update_date from products p left join sale s on (p.id = s.product_id) order by CONVERT(datetime, s.update_date) desc ;", function(err) { 
    if (err) { 
     console.log(err);} 
}); 

request.on('row', function(columns) { 
     var rowObject ={}; 
     columns.forEach(function(column) { 
      rowObject[column.metadata.colName] = column.value; 
     }); 
     var jsonArray = []; 
     jsonArray.push(rowObject); 

}); 

connection.execSql(request); 
} 


function executeStatement2() { 
request = new Request("Select * from products ;", function(err) { 
    if (err) { 
     console.log(err); 
    } 
}); 

request.on('row', function(columns) { 
    var rowObject ={}; 
    columns.forEach(function(column) { 
     rowObject[column.metadata.colName] = column.value; 
    }); 
    var jsonArray2 = []; 
    jsonArray2.push(rowObject); 

}); 
connection.execSql(request); 
} 
+0

变种连接=新连接(配置);配置应包含有效的用户名和密码的属性连接到数据库 –

回答

0

我有同样的问题。您不能运行两个不同的查询请求。将溶液从一个查询请求,并

request.on('requestCompleted', function() { // Next SQL statement. });

它在这个问题中提到使用: https://github.com/tediousjs/tedious/issues/458