使用ibm_db模块在Node JS中执行预准备语句的问题

时间:2015-12-29 04:19:08

标签: javascript java node.js db2

我是NodeJS技术的新手,在处理nodejs项目时,我遇到了以下问题。

我已经实现了ibm_db模块(用于建立DB2连接),并使用"准备好的语句"执行' SELECT'查询。下面的查询执行没有错误,但console.log(result)给出的结果为{fetchMode : 4},但我期待这里的COLUMN_1结果。有人可以告诉我,如果我在这里遗漏任何东西。

db.prepare('SELECT COLUMN_1 FROM TABLE_A WHERE COLUMN_2=?', function(err, stmt){
        if(err){
            console.log(err);
        }
        stmt.execute(['CA'], function(err, result){
            console.log(result);
        });
});

1 个答案:

答案 0 :(得分:1)

在execute callback中使用额外的fetch使我可以看到查询语句的正确和想要的结果。 这是一个例子:

db.prepare('SELECT COLUMN_1 FROM TABLE_A WHERE COLUMN_2=?', function(err, stmt){
    if(err){
        console.log(err);
    }
    stmt.execute(['CA'], function(err, result){
        result.fetch(function (err, data) {
            if (err) {
                console.error(err);
            }
            console.log(JSON.stringify(data));

            result.closeSync();
        });
    });
});

以下网站给了我提示:https://groups.google.com/d/msg/node-ibm_db/AhZeeN6jFTM/MrRXSIW3DQAJ