Javascript Nodejs mssql和PreparedStatement,执行未被调用
我已经将mssql模块包括在我们的节点配置中。node的版本是:0.12.0,mssql是Patrik Simek的2.1.1版 我可以连接到我们的数据库,我已经准备了一条语句,但从未调用过execute。在执行代码之前,我知道已建立到数据库的连接Javascript Nodejs mssql和PreparedStatement,执行未被调用,javascript,sql-server,node.js,Javascript,Sql Server,Node.js,我已经将mssql模块包括在我们的节点配置中。node的版本是:0.12.0,mssql是Patrik Simek的2.1.1版 我可以连接到我们的数据库,我已经准备了一条语句,但从未调用过execute。在执行代码之前,我知道已建立到数据库的连接 //The client object contains the user name eg. "First Last" var aryNames = objClient['usr'].split(" "); if ( !(aryNames &
//The client object contains the user name eg. "First Last"
var aryNames = objClient['usr'].split(" ");
if ( !(aryNames && aryNames.length) ) {
return;
}
var strSQL = "SELECT" +
" MIN(EventID)" +
",MAX(EventID)" +
",MIN(EventTime)" +
",MAX(EventTime)" +
",FirstName" +
",Surname" +
" FROM" +
" [Net2].[sdk].[EventsEx]" +
" WHERE" +
" CAST(EventTime AS Date) BETWEEN @bow AND @eow" +
" AND FirstName=@firstname" +
" AND Surname=@surname" +
" GROUP BY" +
" CONVERT(VARCHAR(10), EventTime, 102)" +
",FirstName" +
",Surname",
objParams = {bow : objClient['tk_bow']
,eow : objClient['tk_eow']
,firstname : aryNames[0]
,surname : aryNames[aryNames.length-1]},
ps = new mssql.PreparedStatement();
ps.input("bow", mssql.DateTime2);
ps.input("eow", mssql.DateTime2);
ps.input("firstname", mssql.VarChar);
ps.input("surname", mssql.VarChar);
ps.prepare(strSQL, function(err) {
console.log("prepare");
if ( err ) {
console.log(err);
return;
}
ps.execute(objParams, function(err, recordset) {
console.log("execute");
console.log(err);
console.dir(recordset);
ps.unprepare(function(err) {
});
});
});
当执行此代码时,会显示调试语句prepare,但我从未看到execute语句
我看了很多例子,看不出我做错了什么。我修改了我的连接例程,这修复了它。你是如何修改的?出了什么问题,是什么修复了它?“伙计,伙计:”我在PraveReDebug泄露问题上有问题(MSSQL .Couter()不关闭所有打开的套接字,在退出时处理挂起),我正在寻找可能的相关解决方案,你没有显示你的解决方案。同时,考虑到你共享了代码,其他人提供了一个答案,上面提到了你所说的。你能把这个答案标记为被接受吗?我现在不在国外,下一次我回来时计算机会回答。werkI没有看到解决方案被分享,我似乎遇到了同样的问题。你能分享一下解决方案吗?对不起,这个问题是两年前发布的,我甚至不知道我在哪里,我当时在做什么。