Node.js 在SQL Server查询中传递参数
我曾经有一个链接到MySQL的NodeJS程序(简单CRUD)。我想将其更改为SQL Server数据库。连接正常,我的“get”查询也正常。但是,当我尝试将参数传递给我的查询(从表单或查询字符串)时,它不起作用。我知道这和MySQL不一样,但我不知道如何改变它 以下是我当前的代码:Node.js 在SQL Server查询中传递参数,node.js,sql-server,parameter-passing,Node.js,Sql Server,Parameter Passing,我曾经有一个链接到MySQL的NodeJS程序(简单CRUD)。我想将其更改为SQL Server数据库。连接正常,我的“get”查询也正常。但是,当我尝试将参数传递给我的查询(从表单或查询字符串)时,它不起作用。我知道这和MySQL不一样,但我不知道如何改变它 以下是我当前的代码: var sql = require('mssql'); var config = { user: 'xxx', password: '@xxxx', server: 'xxx.xxx.com
var sql = require('mssql');
var config = {
user: 'xxx',
password: '@xxxx',
server: 'xxx.xxx.com',
database: 'xxxx'
};
var Issues = {
createIssue: function (Issues, callback)
{
sql.connect(config, function(err, conn) {
if (err) {
callback(err);
} else {
var request = new sql.Request();
return request.query('INSERT INTO [database] (OnCall_Issue) VALUES (?)',[Issues.OnCall_Issue], callback);
}})
},
getIssueById: function (Id, callback) {
sql.connect(config, function(err, conn) {
if (err) {
callback(err);
} else {
var request = new sql.Request();
return request.query('SELECT * FROM [database] WHERE Id_Issue = ?', [Id], callback);
}})
}
}
和我的控制器:
router.post('/create', function (req, res) {
Issues.createIssue(req.body, function (err, count) {
if (err) {
res.status(400).json(err);
}
else {
req.body.Id_Issue = count.insertId;
res.json(req.body);
}
});
});
router.get('/search/:id', function (req, res) {
Issues.getIssueById( req.params.id, function (err, rows) {
if (err) {
res.status(400).json(err);
}
else {
res.json(rows);
}
});
});
对于“create”函数,我使用表单,对于“search”,我使用查询字符串param
如何将其转换为与SQL Server一起使用
提前感谢您的帮助 这可能有助于: