node-jt400のコーディング例はここに書いてありますので、それに沿ってテストしてみます。
SQL query
SQLquery.js
var jt400 = require("node-jt400");
var express = require("express");
var app = express();
var pool = jt400.pool({ host: '192.168.X.XXX', user: 'MYUSER', password: 'MYPASS' });
var server = app.listen(8888, function () {
console.log("curl http://localhost:" + server.address().port + '/~');
});
app.get("/query", function (req, res, next) {
let stmt = "select * from member";
let members = [];
pool.query(stmt).then(
function (result) {
var id, lname, fname, prof, tokuten;
for (var i = 0; i < result.length; i++) {
id = result[i].ID;
lname = result[i].LNAME;
fname = result[i].FNAME;
prof = result[i].PROF;
tokuten = result[i].TOKUTEN;
members.push(id + lname + fname + prof + tokuten);
}
res.send(members);
}
)
});
パラメータ無し、単純に全件取得する例です。
結果の確認はコマンドプロンプト+curlコマンドで行っています。
utf-8でエンコードされるので、事前にCHCP 65001を実行しています。
実行結果
ライブラリを指定していなくてもエラーにならないのは、ライブラリリストにMYLIBが載っているからです。
明示的に指定する場合は、/(スラッシュ)で指定します。
JSON形式で返す例です。
SQLquery.js
app.get("/queryJson", function (req, res, next) {
let stmt = "select * from mylib/member where id <= ? or prof like ?";
pool.query(stmt,[101,'%あい%']).then(
function (result) {
res.json(result);
}
)
});