Node.js 带参数的 DB2 查询
Node.js DB2 query with parameters
我正在使用 node.js 连接到 DB2 数据库并加载不同的查询。但我想使用用户输入的参数。
我的连接字符串是:
var ibmdb = require("ibm_db")
, cn = "DATABASE=namedb;HOSTNAME=hst;UID=portal;PWD=portalpwd;PORT=50000;PROTOCOL=TCPIP;"
;
但我的查询是静态的,我需要从用户输入中传递 parameters/variables。
我在 var rl = require('readline');
中使用用户输入,但现在的问题是如何将变量传递给此查询并放置 动态参数 而不是像 [=14 这样的单个值=]、id
等
var rows = conn.querySync(
"select name,id,uid,password,type from db21.rep_name fetch first 10 rows only"
);
Node.js package ibm_db is fully documented。有几种方法可以解决问题,具体取决于您是想要异步版本还是同步版本以及是否要先准备,然后执行语句。
最简单的选择可能是使用 querySync
,就像您已经做过的那样。有一个可选参数 bindingParameters
用于传递值数组。这些绑定到所有具有 ?
的地方。像下面这样的东西应该可以工作。
var rows = conn.querySync(
"select name,id,uid,password,type from db21.rep_name where name=? fetch first 10 rows only", ['henrik']
);
我正在使用 node.js 连接到 DB2 数据库并加载不同的查询。但我想使用用户输入的参数。 我的连接字符串是:
var ibmdb = require("ibm_db")
, cn = "DATABASE=namedb;HOSTNAME=hst;UID=portal;PWD=portalpwd;PORT=50000;PROTOCOL=TCPIP;"
;
但我的查询是静态的,我需要从用户输入中传递 parameters/variables。
我在 var rl = require('readline');
中使用用户输入,但现在的问题是如何将变量传递给此查询并放置 动态参数 而不是像 [=14 这样的单个值=]、id
等
var rows = conn.querySync(
"select name,id,uid,password,type from db21.rep_name fetch first 10 rows only"
);
Node.js package ibm_db is fully documented。有几种方法可以解决问题,具体取决于您是想要异步版本还是同步版本以及是否要先准备,然后执行语句。
最简单的选择可能是使用 querySync
,就像您已经做过的那样。有一个可选参数 bindingParameters
用于传递值数组。这些绑定到所有具有 ?
的地方。像下面这样的东西应该可以工作。
var rows = conn.querySync(
"select name,id,uid,password,type from db21.rep_name where name=? fetch first 10 rows only", ['henrik']
);