2016-08-18 4 views
2

Я хочу знать, как я могу сохранить результат в MySql запроса в переменной с помощью узла JSсохранить результат MySql запроса в переменной с помощью узла JS

Я использовал это, чтобы подключиться к 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"}] 

теперь я хочу, чтобы сохранить свои результаты, как запрос, чтобы использовать их в ехес команды что-то вроде этого

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) 

Могу ли я предложить это сделать. Спасибо.

ответ

0

Если вы получите только один ряд из вашего запроса, попробуйте следующее:

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

ОК спасибо, но как я могу определить elem? –

+0

Извините, моя ошибка. Я исправил это. –

0

Большое спасибо Никите Наместников. я использовал то, что вы говорите мне делать, и я добавить

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

, чтобы увидеть, если эту работу, но есть проблема

enter image description here

Когда я использую req.session.NomBase, req.session .CheminHPBase, ... на моих маршрутах это не определено

Смежные вопросы