准备好的语句不能在节点js中用mssql执行

在运行代码之后,我得到的只是控制台日志“完成”,没有更新数据库。 我究竟做错了什么?

var pool = new sql.ConnectionPool(config); var ps = new sql.PreparedStatement(pool); ps.input('code', sql.VarChar); ps.input('hex', sql.VarChar); ps.prepare("UPDATE tHE_SetItem SET acPicture = CONVERT(varbinary(max), @hex, 2) WHERE acIdent = @code;", function(err) { async.mapSeries(hexes, function(pair, next) { ps.execute({code: pair.code, hex: pair.hex}, next); }, function(err) { ps.unprepare(function(err) { console.log("Done!"); }); }); }); 

正如评论中所指出的那样,我忽略了错误的callback,而后者又通知我,我实际上并没有build立联系。 这是修改后的代码。

 var pool = new sql.ConnectionPool(config); pool.connect().then(function(){ // <------------- This in particular var i = 0; var ps = new sql.PreparedStatement(pool); ps.input('code', sql.VarChar); ps.input('hex', sql.VarChar); ps.prepare("UPDATE tHE_SetItem SET acPicture = CONVERT(varbinary(max), @hex, 2) WHERE acIdent = @code;", function(err) { if(err) console.log(err); async.mapSeries(hexes, function(pair, next) { i++; console.log(i + "/" + hexes.length + " " + Math.round(i / hexes.length * 100) + "% - " + pair.code); ps.execute({code: pair.code, hex: pair.hex}, next); }, function(err) { if(err) console.log(err); ps.unprepare(function(err) { if(err) console.log(err); console.log("Done!"); }); }); }); }).catch(function (err) { console.log(err); });