2

我在运行节点脚本以从 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 函数的任何结果。有什么我遗漏的东西使我的代码无法正常运行吗?谢谢。

韦德

4

1 回答 1

5

想通了..你只需要关闭连接。

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 !

    });

});
于 2018-08-09T15:01:56.647 回答