node-mssql事务没有提交

时间:2015-08-19 06:46:17

标签: javascript sql sql-server node.js

我正在尝试使用node-mssql再次运行查询数据库。一切都很完美。但是当我尝试在事务中执行查询时,事务会被提交但表仍然是空的。有人可以检查代码是否有错:

var transaction = new sql.Transaction(/* [connection] */);
    transaction.begin(function(err) {
        // ... error checks 
         console.log("[Info]","Begin Transaction.");
        if(err) {
            console.log(err);
            process.exit(-1)
        }
        var request = new sql.Request(transaction);
        var transactionFailed = false;

        var request = new sql.Request(transaction);
        //request.multiple = true;
        request.verbose = true;
        request.query(upsertQuery);
        console.log("[Info]",request)
        request.on('error', function(err) {
            transactionFailed = true;
            console.log(['Error'],err.toString())

        });
        request.on('done', function(errs) {
            if(transactionFailed) {
                transaction.rollback(function(err) {
                    if(err) {
                        console.log(err);
                        process.exit(-1)
                    }
                    else {
                        process.exit(-1)
                    }

                }); 
            }
            else {
                transaction.commit(function(err) {
                    if(err) {
                        console.log(err);
                        process.exit(-1)

                    }
                    else {
                        console.log("Transaction Committed!")
                    } 
                });
            }

        });
    });

1 个答案:

答案 0 :(得分:0)

问题出在我的SQL查询中。上面的代码工作正常