【问题标题】:Get function with a switch statement使用 switch 语句获取函数
【发布时间】:2018-08-31 00:22:06
【问题描述】:

试图获取正确的 sql 语句但它不起作用:

function getsql (key) {
    switch (key) {
        case 1:
            return 'SELECT * FROM main WHERE 1';
            break;
        case 2:
            return 'SELECT * FROM location WHERE 1';
            break;
        default:
            break;
    }
};

operations.get('/filter/:key', function (req, res) {
    var sql = getsql(parseInt(req.params.key));
    db.query(sql, function (error, results) {
        res.json(results);
    })
})

我不知道该怎么办,请帮帮我。

【问题讨论】:

  • em,你能至少解释一下你的问题是什么吗?
  • 请点击上面的链接查看代码。请帮帮我。尝试使用生成的数字来获取正确的 sql 语句,但结果是未定义。
  • 试图从数据库中获取数据,但我需要函数 getsql 中正确的 sql 语句,当我运行代码并使用邮递员对其进行测试时,它没有产生任何结果
  • 老兄,除非你真正解释出了什么问题,没有人会理解你的问题,问题是什么以及你做了什么来解决它。请澄清您的具体问题或添加其他详细信息以准确突出您的需求。正如目前所写的那样,很难准确地说出你在问什么。请参阅“如何提问”页面以获得澄清此问题的帮助。
  • 能否将代码作为实际代码而不是图像发布在此处?

标签: javascript express


【解决方案1】:

您的key 是一个字符串,将其转换为 Int。 parseInt(key, 10).

function getSQL(key) {
    switch (key) {
        case 1:
            return `SELECT * FROM main WHERE 1`;
        case 2:
            return `SELECT * FROM location WHERE 1`;
        default:
            return ``;
    }
}

router.get(`/filter/:key`, (req, res) => {
    const key = parseInt(req.params.key, 10);
    const sql = getSQL(key);
    res.send(`The SQL text: ${sql}`);
});

Working demo

【讨论】:

  • @AwudiEricOkyere 我已经应用了一个工作演示的链接,在启动服务器后打开 url express-router--sultan99.repl.co/filter/1
  • @AwudiEricOkyere 稍后当你得到正确答案时不要忘记标记它并投票。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-04-28
  • 2021-12-11
  • 2016-09-24
  • 1970-01-01
  • 2012-05-10
  • 1970-01-01
  • 2016-06-28
相关资源
最近更新 更多