我遇到了运行节点脚本以从SQL Server检索数据的问题。我似乎得到了结果,但在运行查询后没有执行任何代码。以下是我到目前为止的代码:
var config = {
user: 'blah',
password: 'blah',
server: 'blah',
database: 'blah'
};
sql.connect(config, err => {
if(err) { console.log(err); }
var request = new sql.Request();
request.query('select * from products', function(err, data){
console.log(data.recordset);
ProcessData(data.recordset);
});
});
sql.on('error', err => {
console.log(err);
});
function ProcessData(results){
for(var i; i < results.length - 1; i++){
console.log(results[i].sku);
}
}
现在,我在终端中看到了console.log(data.recordset)的结果,但我从未在ProcessData函数中看到终端中的任何结果。是否有我遗漏的东西让我的代码无法正常运行?感谢。
瓦德
答案 0 :(得分:2)
解决了这个问题。您只需要关闭连接即可。
sql.connect(config, err => {
if(err) { console.log(err); }
var request = new sql.Request();
request.query('select * from products', function(err, data){
console.log(data.recordset);
ProcessData(data.recordset);
sql.close() // just close the connection and it will exit !
});
});