如何使用nodeJs

时间:2017-11-30 04:55:32

标签: javascript sql-server node.js express tedious

我使用nodeJs作为后端语言,使用sql server作为数据库。我可以从数据库中删除整个表行但无法删除特定行。 这是我的代码......

router.delete('/student/:id', function (req, res, next) {
var connection = new Connection(config);
connection.on('connect', function(err) {
    request = new Request("DELETE FROM student where id=@id", function(err) {
        if (err) { console.log(err);}
    });

    request.addParameter('id');

    request.on('done', function(rowCount, more) {  console.log(rowCount + ' rows returned');   });
    connection.execSql(request);
    res.setHeader('Content-Type', 'application/json');
});

});

1 个答案:

答案 0 :(得分:1)

这里的问题似乎是调用带有不完整参数列表的addParameter()函数。 request.addParameter()期待三个论点,即。参数名称,数据类型,值。您只提供了参数名称。

尝试将request.addParameter('id');更改为以下内容:

var TYPES = require('tedious').TYPES; // Get the TYPES enum.
request.addParameter('id', TYPES.Int, parseInt(req.params.id)); // Assuming your id is an integer. Use proper Types enum, and conversion, if its not.

您还可以在此处参考Microsoft网站上的示例:https://docs.microsoft.com/en-us/sql/connect/node-js/step-3-proof-of-concept-connecting-to-sql-using-node-js