2
respostas

Minha query está dando propriedade indefinida

module.exports = function(app){
      app.get('/registros',function(req,res){
        var connection = app.infra.connectionFactory;

        connection.query('select * from prazo_cdl', function(err, results){
          res.render('registros/registros', {lista:results});
        });
        connection.end();
      });
};
2 respostas

Oi José, esse código não vai ajudar muito a gente, tenta sempre colar a mensagem de erro por completo tá bem? Assim a gente localiza bem onde o problema está acontecendo, pode não ser ai.

Algo que pode dar errado nesta rota /registros é a consulta ao banco. Como não está havendo tratamento de erros, se houver algum problema ao consultar ela vai acabar passando para a view registros/registros uma varíavel lista sem conteúdo. Se ela tiver que ser um array de resultados, caso ela esteja vazia e a view tentar fazer um loop, vai acabar dando um erro de undefined.

Uma forma de tratar o erro seria fazer algo assim:

app.get('/registros',function(req,res){
        var connection = app.infra.connectionFactory;

        connection.query('select * from prazo_cdl', function(err, results){
          if (err){
            var resultados = [];
          } else {
            var resultados =results;
          }

          res.render('registros/registros', {lista:resultados});
        });
        connection.end();
      });