27 de fev de 2012

[Parte 6] Capítulo 5: Como inserir registros em um banco de dados


Este post irá mostrar como criar uma página que permita aos usuários adicionar um novo produto no banco de dados criado nos posts anteriores. (Como criar e configurar um banco de dados e Como adicionar entradas em um banco de dados)

Depois que um novo registro for inserido, a página exibirá a tabela atualizada com a página ListaProdutos.cshtml criada no post anterior. (Como exibir informações do banco de dados em uma página ASP.NET)

A página que será criada inclui as validações para certificar-se que os dados inseridos pelo usuário são válidos para o banco de dados que foi criado.

1 - No site criado anteriormente, e que já possui o arquivo Padaria.sdf e a página ListaProdutos.cshtml, crie uma nova página chamada InsereProdutos.cshtml.
2 - Substitua o código da página pelo código abaixo:

O corpo da página contem um formulário HTML com três caixas de texto que permitem aos usuários inserir nome, descrição e preço. Quando os usuários clicam no botão "Inserir", o código na parte superior da página abre uma conexão com o banco de dados Padaria.sdf.

Em seguida, obtemos os valores que o usuário digitou através do objeto Request e atribuímos esses valores a variáveis locais. Para verificar se foram digitados valores para todas as colunas, ou seja, não há coluna em branco, utilizamos o procedimento abaixo:

Se a coluna Nome estiver vazia, utilizamos o método ModelState.AddError para exibir uma mensagem de erro. Esse processo deve ser repetido para todas as colunas que forem verificadas. Então, realizamos o seguinte teste:

Se todas as colunas forem validadas e nenhuma estiver vazia, criamos uma declaração SQL para inserção de dados.

Como medida de segurança, os valores devem sempre ser passados para instruções SQL através de parâmetros. Dessa forma é possível validar os dados do usuário, além de evitar tambem o envio de comandos maliciosos para o banco de dados.

Para executar a consulta, utilizamos a declaração contida na variável queryInsercao.


Depois do comando INSERT INTO ser executado, o usuário será redirecionado à lista de produtos.

Se a validação não ocorrer com sucesso, a inserção de dados é pulada e podemos exibir os erros que foram acumulados (se existirem).

Observe que o bloco CSS possui uma definição de classe chamada .validation-sumary-errors. Esse é o nome da classe que é utilizada por padrão para o elemento <div> que contém os erros de validação. Nesse caso, a classe CSS especifica que os erros de validação são exibidos em vermelho e negrito, mas estes atributos podem ser configurados conforme sua escolha.

3 - Execute a página no browser. A página exibirá um formulário como o abaixo:

4 - Digite os valores par as colunas, mas deixe a coluna de preço em branco.

5 - Clique em "Inserir". A página exibirá uma mensagem de erro, como abaixo e nenhum registro será criado.

6 - Preencha o formulário todo e clique em "Inserir". A página ListaProdutos.cshtml será exibida e mostrará o novo registro.

Nenhum comentário:

Postar um comentário

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