Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

node sql server

Sei que não faz parte do curso mas se alguém puder me ajudar. Estou usando este curso como base para desenvolver uma aplicação a diferença é que estou usando como banco sql server. Depois de estudar bastante e pesquisar adaptei meu código para o seguinte.

produto.js

const sql = require('mssql');
const connStr = {
    user: 'localhost',
    server: 'teste_veiculos',
    database: 'Veiculos',
    port: 3000,

    options: {
        encrypt: true
    }
}

module.exports = function(app) {

    app.get('/entrevistador',function(req,res){
        new sql.ConnectionPool(connStr).connect().then(pool => {
            return pool.query`SELECT entrev,nome,funcao,login,Password_Web FROM tbentrevistador`
        }).then(result => {
            res.render('entrevistador',{lista:result});
        }).catch(err => {
            console.log(err);
        })
    });
}

entrevistador.ejs

<!doctype html>
<html>
    <body>
        <table border="1px">
            <tr>
                <td>entrev</td>
                <td>nome</td>
                <td>funcao</td>
                <td>login</td>
                <td>Password_Web</td>
            </tr>

            <%for(var i=0; i<lista.length; i++) {%>
                <tr>
                    <td><%=lista[i].entrev%></td>
                    <td><%=lista[i].nome%></td>
                    <td><%=lista[i].funcao%></td>
                    <td><%=lista[i].login%></td>
                    <td><%=lista[i].Password_Web%></td>
                </tr>
            <%}%>
        </table>
    </body>
</html>

Consigo retornar os dados do banco normalmente na forma de json porem não estou conseguindo integrar com o ejs. Não apresenta nenhum erro nem no console nem na pagina. Simplesmente carrega apenas o header da tabela.

4 respostas

Oi Jonas, tudo bem? cola aqui pra mim um console.log desse result que está sendo retornado do banco por favor?

console.log(result);

{ recordsets:
   [ [ [Object],
       [Object],
       [Object],
     ] ],
  recordset:
   [ { entrev: 1,
       nome: 'KATIA NESTLEHNER',
       funcao: 'Carro Campo',
       login: 'knnestlehner@hotmail.com.br',
       Password_Web: '2531964' },
     { entrev: 2,
       nome: 'MARCOS JOSE MOREIRA LEITE',
       funcao: 'Carro Campo',
       login: 'mmmoreira@hotmail.com.br',
       Password_Web: 'xadrez64' },
     { entrev: 3,
       nome: 'MAURICIO WANDERLEY CAMPOS BARRETO JR.',
       funcao: 'Carro - Interno',
       login: null,
       Password_Web: '123456' }],
  output: {},
  rowsAffected: [ 3] }
solução!

Wanderson Macêdo obrigado pela ajuda com a sua pergunta reparei que deveria alterar para:

res.render('entrevistador',{lista:result.recordset});

E tudo funcionou obrigado.

Boa! \o/

Bons estudos! Precisando estamos aqui :)