Retorno de query em variável Javascript

01/06/2017

0

Bom dia pessoal,

Não sei muito de javascript, recentemente comecei a trabalhar com node.js e tenho uma dúvida. Meu sistema deve ler um xml armazenado no banco de dados e convertê-lo em uma Danfe. Como eu faço para armazenar o xml (que retornou da minha query) em uma variável? Segue o código que estou fazendo:

const sql = require('mssql');

const config = {
    user: 'XXXX',
    password: 'XXXX',
    server: 'Exemplo', 
    database: 'Meubanco',
};

sql.connect(config).then(() => {
    return sql.query`SELECT ISNULL(CONVERT(VARCHAR(MAX), CONVERT(VARBINARY(MAX), campo_xml)),'') AS xml  FROM Tabela
WHERE nota = 36220; ` 
	}).then(result => {
        console.dir(result); // aqui é retornado o resultado da query (meu xml), funciona normalmente;
	}).catch(err => {
    console.dir('Erro na consulta');
	})
 
sql.on('error', err => {
    console.dir('Erro ao acessar o banco'); 
});


obs: Meu SGBD é o SQL Server, no node tive de usar o drive mssql.
Gabriel

Gabriel

Responder

Posts

09/06/2017

Gabriel

Update no caso:

Pessoal, fiz alguns testes, o que me chamou a atenção é que criei uma variável para armazenar o retorno da query, só que dentro do método ela funciona perfeitamente, fora dele, não traz o valor que eu quero da variável.
var lexml = 'xml';


sql.connect(config).then(() => {
    return sql.query`SELECT ISNULL(CONVERT(VARCHAR(MAX), CONVERT(VARBINARY(MAX), campo_xml)),'') AS xml FROM Tabela
WHERE DOC_ID = 36220; `;
	}).then(result => {
	lexml = result.recordset[0].XML_NF.toString();
	console.log(lexml);    <-------------- Aqui imprime o xml normalmente no log
	return lexml;
	}).catch(err => {
    console.dir('Erro na consulta');
	})
sql.on('error', err => {
    console.dir('Erro ao acessar o banco'); 
});



console.log(lexml); <------------- Aqui imprime apenas 'xml'



Alguém pode me ajudar? Não estou conseguindo usar a variável "lexml" armazenando o conteúdo da query fora do método de conexão.
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar