使用节点js将MySql查询的结果保存在variables中

我想知道如何使用节点js在variables中保存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) 

我可以有一个build议来做到这一点。 谢谢。

如果您的查询只有一行,请尝试以下操作:

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

非常感谢你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,…在我的路线它未定义