mysql - 使用 Node js将MySql查询结果保存在变量中

标签 mysql node.js save exec

我想知道如何使用 Node 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) 

我可以建议这样做吗? 谢谢。

最佳答案

如果您只从查询中得到一行,试试这个:

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();

关于mysql - 使用 Node js将MySql查询结果保存在变量中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39014340/

相关文章:

javascript - 使用纯文本而不是提及来定义用户

php - 如何保存 Doctrine2 实体

ios - UIWebView不保存cookie

mysql - 如何改进这种无模式的数据库模式?

mysql - CakePHP 不尊重外键名称

javascript - Node : undefined is not a new function 'new'

visual-c++ - 如何在MFC中另存为对话框

java - 获取当前日期并将其保存在数据库中

php - 如何使用 find in set 进行基于分数的用户排名?

node.js - https请求中承载 token 的用法