Node.js 在SQL Server查询中传递参数

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

我曾经有一个链接到MySQL的NodeJS程序(简单CRUD)。我想将其更改为SQL Server数据库。连接正常,我的“get”查询也正常。但是,当我尝试将参数传递给我的查询(从表单或查询字符串)时,它不起作用。我知道这和MySQL不一样,但我不知道如何改变它

以下是我当前的代码:

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一起使用

提前感谢您的帮助

这可能有助于: