使用node js将MySql查询结果保存在变量中
我想知道如何使用NodeJS将MySql查询结果保存在变量中 我使用它连接到mysql并获取查询使用node js将MySql查询结果保存在变量中,mysql,node.js,save,exec,Mysql,Node.js,Save,Exec,我想知道如何使用NodeJS将MySql查询结果保存在变量中 我使用它连接到mysql并获取查询 var mysql = require('mysql'); var express = require('express'); var app = express(); app.get('/informations', function (req, res) { var connection = mysql.createConnection( {
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();
非常感谢尼基塔·尼科夫。 我用了你让我做的,我补充说
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时,。。。在我的路线中它未定义对不起,我的错误。我已经修好了。