[PROMOÇÃO] Assine com + 30% de desconto ANUAL MENSAL (últimas horas)

Variavel

[Concluído]

Brendo Vale
Criador Brendo Vale 24/11/2018

como eu faço pra setar a informação na variavel "var queroColocarAqui" de dentro do connection.query?

 

var queroColocarAqui;

var queryx = connection.query(query,function(error, results,fields){
for (var i in results) {
queroColocarAqui = results[i].SCHEMA_NAME ;
 
}
})
console.log(queroColocarAqui)
Criador Brendo Vale 24/11/2018

lembrando que está retornando o valor certinho do result

Brendo Vale
Manager Carlos Ferreira 24/11/2018

Olá, Brendo!

Uma das maneiras mais simples e até elegantes de resolver isso é usando arrow functions (do ES6), veja como fica:
let queroColocarAqui;
let queryx = connection.query(query, (error, results,fields) => {
    for (let i in results) {
        queroColocarAqui = results[i].SCHEMA_NAME
    }
})
console.log(queroColocarAqui)

PS. A forma como implementou a sua variável queroColocarAqui vai conter apenas o último registro do loop.

Carlos Ferreira
Criador Brendo Vale 24/11/2018

a questão é que a variavel queroColocarAqui não está recebendo o valor saca?

Brendo Vale
Manager Carlos Ferreira 24/11/2018

Deveria funcionar, coloca alguns consoles para identificar onde está indo o processamento (depois me envia um print: https://uploaddeimagens.com.br/).

let queroColocarAqui = 'Valor Default';
let queryx = connection.query(query, (error, results, fields) => {
    console.log('antes do loop')
    for (let i in results) {
        console.log('Dentro do loop')
        console.log(results[i].SCHEMA_NAME)
        queroColocarAqui = results[i].SCHEMA_NAME
    }
    console.log('depois do loop')
})
console.log(queroColocarAqui)

Carlos Ferreira
Criador Brendo Vale 24/11/2018

http://prntscr.com/lpcn7e

Brendo Vale
Manager Carlos Ferreira 24/11/2018

Salve Brendo!

Conferi o log mas não identifiquei o log "Dentro do loop"
Aparentemente realmente não está entrando dentro do loop.

Estes logs das querys podem estar vindo de outro local.

Carlos Ferreira
Criador Brendo Vale 24/11/2018

fiz uma gambiarra e funcionou...

estava vendo aqui sobre scopes pode ser executada como função entao tentei fazer... (não tenho certeza)

creio que isso não seja uma prática segura.....

 

no caso eu tenho 1 cliente com base de dados separada e ai o nome da base de dados é random mas todas começam com bd... entao depois de selecionar o schema eu selecionei o cliente e retornei base de dados e cliente...

código http://prntscr.com/lq2rk3

resultado desejado http://prntscr.com/lq2sti

Brendo Vale
Manager Carlos Ferreira 24/11/2018

Que bom que conseguiu resolver, parabéns!

Essa é uma aplicação Node.js? Procura usar algum pacote pronto, porque com isso você pode escorar na experiência de outras pessoas e criar um código mais amigável e seguro.

Carlos Ferreira
Criador Brendo Vale 24/11/2018

Estou utilizando o sequelize que já melhora bastante as requisições sql. o problema é que eu não conseguir criar uma query mysql para pegar uma tabela por loop. Por exempo: SELECT NOME FROM reg_0000,(SELECT DISTINCT TABLE_SCHEMA FROM information_schema.TABLES WHERE TABLE_SCHEMA LIKE '%bd%') as TABLE_SCHEMA;

Essa é aquery que montei onde seu seleciono a coluna NOME da tabela reg_0000 que está no schema ( select )....

 

só que como são vários schemas eu só consegui retornar 1 valor ao invez de 2 schemas que tem no banco de dados porque ele só pega 1 campo do select information_schema.TABLES ....

 

Sim estou tentando criar uma aplicação utilizando apenas javascript (desafio pessoal)

Brendo Vale
Criador Brendo Vale 24/11/2018

Sim* é uma aplicação NODE.JS

Brendo Vale
Sabe a Solução? Ajude a resolver!

Precisa estar logado para conseguir responder a este ticket!

Clique Aqui Para Entrar!