【问题标题】:How to set parameterized value in Postgres SELECT query using WHERE condition如何使用 WHERE 条件在 Postgres SELECT 查询中设置参数化值
【发布时间】:2018-06-01 18:07:25
【问题描述】:

我是 PostgreSQL 新手,请多多包涵。

我需要使用带有 where 条件的 select 查询从表中读取记录。

  Eg: select * from switch where switchId=10;

查询工厂.js

  let queryMap = {
        “getSwitchInfo”: ‘select * from switch where switchId=?’
  }

  module.exports=queryMap;

Controller.js

 let client = require(rootdir+’dao/postgresSQL’);
 let queryFactory = require(rootdir+’/dao/QueryFactory’);

 let query = queryFactory.getQuery(“getSwitchInfo”);

 let switchId = req.query.switchId;
 client.query(query, function(err, res){
         if(err){

          }
 });

请参阅:- 我从客户端获取的这个 switchId 值 10 并使用查询参数在我的节点后端层获取它。

请建议我如何将 switchId 作为参数化值传递给查询。

【问题讨论】:

  • 我已经更新了代码。请看一看。

标签: node.js postgresql


【解决方案1】:

我自己找到了解决这个问题的方法。将参数添加到数组并将此数组作为第二个参数传递给 client.query 方法,并在查询条件中我添加了 $1。现在一切正常

查询工厂.js

  let queryMap = {
    “getSwitchInfo”: ‘select * from switch where switchId=$1’
  }

  module.exports=queryMap;

Controller.js

  let params = [req.query.switchId];
     client.query(query, params, function(err, res){
         if(err){

         }
   });

【讨论】:

    猜你喜欢
    • 2022-11-06
    • 1970-01-01
    • 2011-10-16
    • 2015-10-12
    • 1970-01-01
    • 2019-03-10
    • 2018-01-12
    • 2023-03-23
    • 1970-01-01
    相关资源
    最近更新 更多