23 de fev de 2012

[Parte 5] Capítulo 5: Como exibir informações do banco de dados em uma página ASP.NET


Agora que o banco de dados já está criado (para quem não viu: Como criar e configurar um banco de dados e Como adicionar entradas em um banco de dados), podemos exibir os dados em uma página Web ASP.NET. Para selecionar as linhas da tabela para exibir, utilizaremos uma instrução SQL, que é um comando passado para o banco de dados.

1 - No painel esquerdo, clique em "Files".
2 - No diretório principal, crie uma nova página chamada "ListaProdutos.cshtml".
3 - Substitua o código pelo código abaixo.

No primeiro bloco de código, abrimos o arquivo "Padaria.sdf" que foi criado no post anterior. O método Database.Open assume que o arquivo está na pasta App_Data.

Em seguida é feito um pedido para consultar o banco de dados utilizando a seguinte instrução SQL:

SELECT * FROM Produto ORDER BY Nome

Na declaração acima, a palavra "Produto" indica em qual tabela os dados serão selecionados. O asterisco indica que a consulta deve retornar todas as colunas da tabela. A cláusula "ORDER BY" indica que os dados devem ser classificados em ordem alfabetica pela coluna "Nome".

No corpo da página, a marcação cria uma tabela HTML que será utilizada para exibir os dados. Dentro do elemento <body>, um loop foreach recebe individualmente cada linha de dados retornada pela consulta.

Da mesma forma, para cada linha de dados é criada uma linha de tabela HTML com o elemento <tr>. As células de cada linha da tabela são criadas com o elemento <td>.

Cada vez que o código passar pelo loop os registros da próxima linha estarão disponíveis na variável declarada no foreach. Para se obter o registro de alguma coluna específica, pode ser usado item.Nome ou item.Descricao, ou seja lá qual for o nome da coluna desejada.

4 - Execute a página no navegador (tenha certeza que a página estã selecionada no diretório "Files" antes de ser executada). A página exibida será:

Um comentário:

  1. como faço para fazer um "where" e passar o valor por parametro?
    Obrigado.

    ResponderExcluir

Sua crítica, sugestão ou comentário será muito bem vindo!