如何使用繁琐的单连接处理多个请求

时间:2019-04-04 12:10:28

标签: sql tedious

我们正在尝试在post方法中使用两个请求,该方法使用单个连接从数据库中获取数据。被单调乏味的文档引用,无法解决。我们如何建立它?

通过建立一个繁琐的连接,我可以通过调用存储过程并在那里执行数据库操作来处理一个连接的单个请求。而在有多个请求的情况下失败。代码在这里。

app.post('/getDataByID', addon.checkValidToken(), function(req, res){
    var result = { parentItems: [], childItems: []};
    var items = [];
    var taskID = req.body.taskID;
    var sqlGetParents = "exec dbo.GetParentsByID @TaskID='" + taskID + "'";
    var sqlGetChildrens = "exec dbo.GetChildsByID @TaskID='" + taskID + "'";
    request = new Request(sqlGetParents, function(err, result1){
        if(err)
            console.log(err);

        res.send(result);
    }),
    request.on('row', function(columns) {
        var row = {};
        columns.forEach(function(column) {
            row[column.metadata.colName] = column.value;
        });
        result.parentItems.push(row);
    });
    connection.execSql(request);

    request = new Request(sqlGetChildrens, function(err, result2){
        if(err)
            console.log(err);

        res.send(result);
    }),
    request.on('row', function(columns) {
        var row = {};
        columns.forEach(function(column) {
            row[column.metadata.colName] = column.value;
        });
        result.childItems.push(row);
    });
    connection.execSql(request);
});

0 个答案:

没有答案