【问题标题】:Error: Cannot enqueue Query after invoking quit错误:调用退出后无法将查询排入队列
【发布时间】:2017-06-19 01:48:59
【问题描述】:

运行下面的代码时出现错误:调用退出后无法排队查询。我需要在两个表中插入一些数据。 你能帮我更正我在node.js中真正新的代码吗非常感谢。

Create Contact Service. 
        router.post('/contactinformationdetails', function (req, res, next) {
try {
    var reqObj = req.body;
    console.log(reqObj);
    req.getConnection(function (err, conn) {
        if (err) {
            console.error('SQL Connection error: ', err);
            return next(err);
        } else {
            var insertSql1 = "INSERT INTO contact_person SET ? ";

            var insertValues1 = {
                "site_name": reqObj.sitNam,
                "first_name": reqObj.firName,
                "last_name": reqObj.lastName,
                "position": reqObj.posId,
                "contact_number": reqObj.conNum,
                "organization": reqObj.orga1,
                "email_add": reqObj.emaAdd1,
            };
            var query = conn.query(insertSql1, insertValues1, function (err, result) {
                if (err) {
                    console.error('SQL error: ', err);
                    return next(err);
                }
                console.log(result);
                var Contact_Id = result.insertId;
                res.json({
                    "Cont_id": Contact_Id
                });


                var insertSql5 = "INSERT INTO address_contactperson SET ? ";

                var insertValues5 = {
                    "address_name": reqObj.addNam,
                    "address_one": reqObj.addOne,
                    "address_two": reqObj.addTwo,
                    "city": reqObj.city,
                    "province": reqObj.prov
                };
                 var query1 = conn.query(insertSql5, insertValues5, function (err, result) {
                    if (err) {
                     console.error('SQL error: ', err);
                     return next(err);
                    }
                    console.log(result);
                 });

            });
        }
    });
} catch (ex) {
    console.error("Internal error:" + ex);
    return next(ex);
}
});

【问题讨论】:

    标签: javascript mysql node.js


    【解决方案1】:

    你必须用mongodb(MongoDB是一个开源的文档数据库和领先的NoSQL数据库)试试这个最简单有效的方法。

    router.all('/todo/create', function (req, res) {
        var taskcreate = req.Collection;
        var task = req.body.task;
        var date = req.body.date;
        var status1 = req.body.status1;
        var userid = req.body.userid;
        var users = req.Collection;
        var record = new taskcreate({
            task: task,
            date: date,
            status1: status1,
            userid: userid
        });
        if (task.length > 0) {
            record.save(function (err, result) {
                if (err) {
                    res.json({status: 0, message: err})
                } else {
                    res.json({status: 1, userid: userid, task: task, date: date, message: " success"});
                }
            })
        } else {
            res.json({status: 0, msg: "Invalid Fields"});
        }
    });
    

    【讨论】:

    • 我别无选择,只能使用 mysql 作为数据库,因为这是工作所必需的。你知道如何在关系数据库中做到这一点吗?
    • 不,我没有在 mysql 中使用 node,不知道如何使用 mysql。
    猜你喜欢
    • 2018-05-18
    • 1970-01-01
    • 2023-03-21
    • 2020-03-10
    • 1970-01-01
    • 2012-12-29
    • 2020-03-08
    • 1970-01-01
    • 2021-12-13
    相关资源
    最近更新 更多