我正在使用Node.js构建一个简单的REST服务
当我发送GET请求时,我收到一条错误消息:
TypeError:sqlDb.Connection不是Object.exports.executeSql的构造函数
这是我的代码.
settings.js
exports.dbConfig = {
user: "sa",
password: "sam",
server: "localhost\\1433",
database: "SampleDb",
port: 1433
};
exports.webPort = 9000;
Run Code Online (Sandbox Code Playgroud)
db.js
var sqlDb = require("mssql");
var settings = require("../settings");
exports.executeSql = function(sql, callback) {
var conn = new sqlDb.Connection(settings.dbConfig);
conn.connect()
.then(function() {
var req = new sqlDb.Request(conn);
req.query(sql)
.then(function(recordset) {
callback(recordset);
})
.catch(function(err) {
console.log(err);
callback(null, err);
});
})
.catch(function(err) {
console.log(err);
callback(null, err);
});
};
Run Code Online (Sandbox Code Playgroud)
employee.js
var db = require("../core/db");
exports.getList = function(req, resp) { …Run Code Online (Sandbox Code Playgroud) 如果我改变了这个CASE语句的逻辑,我正在运行一些旧代码:
CASE WHEN ClaimNo.ClaimNo IS NULL THEN '0'
WHEN ClaimNo.ClaimNo = 1 THEN '1'
WHEN ClaimNo.ClaimNo = 2 THEN '2'
WHEN ClaimNo.ClaimNo = 3 THEN '3'
WHEN ClaimNo.ClaimNo = 4 THEN '4'
ELSE '5+'
END AS ClaimNo ,
Run Code Online (Sandbox Code Playgroud)
如果我改为:
CASE WHEN ClaimNo.ClaimNo >= 5 THEN '5+'
ELSE COALESCE(ClaimNo.ClaimNo,0) END 'ClaimNo' ,
Run Code Online (Sandbox Code Playgroud)
该声明在技术上会更快吗?它作为一个语句显然要短得多,并且似乎不会运行尽可能多的语句来获得相同的结果.