0

行にイベントがあるデータベースにクエリを実行するためのこの方法があります。すべての行が繰り返されたことを知るにはどうすればよいですか?

すべての行が処理されたときにいつ戻るかわかりません。以下のコードは問題を引き起こすようです。

 getData : function(data){
    var connection = new Connection(config);
    var newdata = [];
    var dataset = [];
    connection.on('connect', function(err) {

        var sql = "SELECT * FROM dbo."+data.entity+" WHERE "+data.field+" LIKE '%"+data.params+"%'";

        var Request = require('tedious').Request;
        var request = new Request(sql, function (err, rowCount) {
            if (err) {
                return false;
            } else {
                if (rowCount < 1) {
                    return false;
                }
            }
        });

        request.on('row', function(columns) {

            columns.forEach(function(column) {
                   dataset.push({
                       col: column.metadata.colName,
                       val: column.value
                   });


            });

            newdata.push(dataset);

        });

        request.on('done', function(){
            //connection.close();
            return newdata;
        })

        connection.execSql(request);

    });

},

どんな助けでも大歓迎です!

4

1 に答える 1