我正在尝试使用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!")
}
});
}
});
});
答案 0 :(得分:0)
问题出在我的SQL查询中。上面的代码工作正常