准备语句node-postgresql错误,结果为null

时间:2015-11-23 07:53:32

标签: node.js postgresql prepared-statement node-postgres

我是node.js和postgresql的新手。我已经与postgres db连接并执行一些测试代码。在我打算使用准备好的statements.am之后创建一个示例登录脚本。如果用户存在,则返回用户名,否则返回消息“无效的用户名或密码”。如果用户名和密码正确,则返回用户名。但没有数据存在,则无法返回消息。我的开放是,执行cliend.end()函数后控件将崩溃。

这是我的代码

UserLogin.get = function(userName, callBack) {
    pg.connect(pgConString, function(err, client, done) {
        if (err) {
            callBack("DB connection failed. " + err, null);
            return;
        }
        var selectQuery="SELECT * from  "  + TABLE + " WHERE userName=($1)";
        var query=client.query({
                text:selectQuery,
                values:[userName],
                name:"selectQuery"});

                query.on("error", function (error) {
                 callBack("DB fetch failed. Error Message: " + err, null);});

                query.on('row', function(row) {
                callBack(null, row);});

                query.on("end", function (result) {
                client.end();
                return;
                 });
            });     
}
  

如果row为空,则不返回回调。如果row_result不为空,它的工作正常..如何...... ????任何想法...... ???

1 个答案:

答案 0 :(得分:0)

您的代码

git filter-branch

表示每次查询从数据库中获取1行时都会调用回调。在查询结果为0的情况下,永远不会调用回调。