【问题标题】:save result of MySql query in variable using node js使用节点js将MySql查询的结果保存在变量中
【发布时间】:2016-12-25 03:45:42
【问题描述】:

我想知道如何使用节点 js 将 MySql 查询的结果保存在变量中

我用这个来连接mysql并获取查询

var mysql = require('mysql');
var express = require('express');
var app = express();


app.get('/informations', function (req, res) {

    var connection = mysql.createConnection(
        {
            host     : 'localhost',
            user     : 'root',
            password : '',
            database : 'dbUsers',
        }
    );

    connection.connect();

    var queryString = 'SELECT * FROM hpform';

    connection.query(queryString, function(err, rows, fields) {
        res.json(rows);


        for (var i in rows) {
            console.log('NomBase: ', rows[i].NomBase);
            console.log('CheminHP: ', rows[i].CheminHP);
            console.log('Chemin: ', rows[i].Chemin);
            console.log('HPuser: ', rows[i].HPuser);
            console.log('pass: ', rows[i].pass);
            console.log('path_pub: ', rows[i].path_pub);
        }
    });
    connection.end();
});
module.exports = app;

结果如下:

[{"HPId":16,"NomBase":"Base","CheminHP":"C:\\Program Files (x86)\\Hewlett-Packard\\HP Exstream\\HP Exstream 9.5.102","Chemin":"P:\\\\EXSTREAM\\\\BASES\\\\MACSF_DB_EditiqueV9.5.accdb","HPuser":"admin","pass":"admin","path_pub":"D:\\Users\\hbenkhal\\Desktop\\essaipub"},{"HPId":21,"NomBase":"LMG","CheminHP":"C:\\Program Files (x86)\\Hewlett-Packard\\HP Exstream\\HP Exstream 9.5.102","Chemin":"D:\\\\hp_LMG\\\\BaseAccess20160330.accdb","HPuser":"admin","pass":"admin","path_pub":"D:\\Users\\hbenkhal\\Desktop\\essaipub"},{"HPId":22,"NomBase":"Meriem","CheminHP":"C:\\Program Files (x86)\\Hewlett-Packard\\HP Exstream\\HP Exstream 9.5.102","Chemin":"D:\\base_meriem\\Test.accdb","HPuser":"admin","pass":"admin","path_pub":"D:\\Users\\hbenkhal\\Desktop\\essaipub"},{"HPId":24,"NomBase":"bouygues","CheminHP":"C:\\Program Files (x86)\\Hewlett-Packard\\HP Exstream\\HP Exstream 9.5.102","Chemin":"D:\\\\hp_LMG\\\\bouygues\\\\20160425 - PRODUCTION MEP FE_22606 - Ano314002 Libellé remboursement EDP Appro","HPuser":"admin","pass":"admin","path_pub":"D:\\Users\\hbenkhal\\Desktop\\essaipub"},{"HPId":26,"NomBase":"hamza","CheminHP":"C:\\Program Files (x86)\\Hewlett-Packard\\HP Exstream\\HP Exstream 9.5.102","Chemin":"P:\\\\EXSTREAM\\\\BASES\\\\MACSF_DB_EditiqueV9.5.accdb","HPuser":"admin","pass":"admin","path_pub":"D:\\Users\\hbenkhal\\Desktop\\essaipub"}]

现在我想将我的结果保存为在 exec 命令中使用它们的请求,就像这样

child = exec("\"" + req.session.CheminHP + "/Packager.exe\" -APPLICATION=" + req.params.app + " -ACCESSDB=" + req.session.Chemin + " -EXSTREAMUSER=" + req.session.HPuser + " -EXSTREAMPASSWORD=" + req.session.pass + "  -PACKAGEFILE=" + req.session.path_pub + "\\" + req.params.app + ".pub", function (error, stdout, stderr) 

我能有一个建议吗? 谢谢。

【问题讨论】:

    标签: mysql node.js save exec


    【解决方案1】:

    如果您从查询中只得到一行,请尝试以下操作:

    connection.query(queryString, function(err, rows, fields) {
        res.json(rows);
    
        var elem = rows[0];
        for (var prop in elem) {
          req.session[prop] = elem[prop]; 
        }
    });
    connection.end();
    

    【讨论】:

    • 对不起,我的错误。我已经修好了。
    【解决方案2】:

    非常感谢 Nikita Namestnikov。 我用了你告诉我做的,我添加了

    console.log('NomBase: ' + req.session.NomBase);
            console.log('CheminHP: ' + req.session.CheminHPBase);
            console.log('Chemin: ' + req.session.CheminBase);
            console.log('HPuser: ' + req.session.HPuserBase);
            console.log('pass: ' + req.session.passBase);
            console.log('path_pub: ' + req.session.path_pubBase);
    

    看看是否可行,但有问题

    当我在我的路由中使用 req.session.NomBase、req.session.CheminHPBase、...时它未定义

    【讨论】:

      猜你喜欢
      • 2017-11-15
      • 2021-03-01
      • 2014-11-23
      • 2022-12-08
      • 2021-10-25
      • 2020-06-22
      • 2020-06-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多