 ASP .NET - Criando um Livro de Visitas 
básico II
   
ASP .NET - Criando um Livro de Visitas 
básico II
Na primeira parte deste artigo definimos o objetivo e criamos a página para exibir os registros do livro de visitas usando um DataList.
Vamos agora definir uma nova página para permitir que sejam postados os comentários no livro de visitas.
Abra o projeto criado e clique com o botão direito sobre o nome do web site e selecione Add New Item e selecione o template WebForm , a linguagem Visual Basic e informe o nome postaComentario.aspx.
Selecione a página postaComentario.aspx e defina o seguinte leiaute na página:
|  | Primeiro inclua uma 
    tabela com 12 linhas e duas colunas  a partir do menu Table-> Insert 
    Table Em seguida inclua os controles: 
 
 | 
Para efetuar a validação do nome , email e comentario vamos usar os controles de validação do ASP .NET.
Na toolbox temos na guia Validation os controles que podemos usar para efetuar a validação descrição resumida abaixo:
|  | 
 
 | 
A partir da ToolBox na aba Validation vamos primeiro validar o campos nome, email e comentario usando o controle RequiredFieldValidator definidos da seguinte forma:
| campo | descrição | 
| nome | ID= reqNome ErrorMessage = Informe o nome ControlToValidate = txtNome Text = * | 
| ID= reqEmail ErrorMessage = Informe o email ControlToValidate = txEmail Text = * | |
| comentario | ID= reqComentario ErrorMessage = Poste um comentario ControlToValidate = txComentario Text = * | 
Vamos usar também o controle RegularExpressionValidator para validar o e-mail configurando o controle assim:
| campo | descrição | 
| ID= regexValidaEmail      
    ErrorMessage = E-mail inválido      
    ControlToValidate = txEmail         
    Text = * ValidationExpression: \w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)* <-- (esta é expressão regular usada para validar o email) | 
Inclua também um controle ValidationSummary na base da página para resumir as validações definindo o seu ID como validPagina;
Inclua também um LinkButton com as seguintes propriedades:
No evento Click do botão de comando Enviar Comentario vamos colocar o código que irá se conectar com o banco de dados e salvar os dados do mesmo.
| Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnEnviar.Click 'verifica se foram informados dos dados requeridos If txtNome.Text <> String.Empty And txtEmail.Text <> String.Empty And txtComentario.Text <> String.Empty Then 'Define a string de conexão e o local do banco de dados na pasta App_Data Dim strConn As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" _                                                & Server.MapPath("App_data/livro.mdb") & ";"
            'monta a instrução SQL que vai incluir os dados na tabela Visitas
            Dim mysql As String = "INSERT INTO Visitas (Nome, EMail, Comentario) VALUES (@nome,@email,@comentario)"
            Dim MyConn As New OleDbConnection(strConn)Dim cmd As New OleDbCommand(mysql, MyConn)            'preenche os parâmetros com os dados obtidos do formulário
            cmd.Parameters.Add(New OleDbParameter("@nome", txtNome.Text))            cmd.Parameters.Add(New OleDbParameter("@email", txtEmail.Text))            cmd.Parameters.Add(New OleDbParameter("@comentario", txtComentario.Text))
'abre a conexão e executa o comando Try MyConn.Open() cmd.ExecuteNonQuery()                 Response.Redirect("Visitas.aspx")            Catch
                lblmsg.Text = "Erro ao gravar dados"
            FinallyMyConn.Close()             End Try
        End If | 
Neste código estou definindo uma instrução SQL INSERT INTO para incluir os dados do formulário na tabela Visitas;
"INSERT INTO Visitas (Nome, EMail, Comentario) VALUES (@nome,@email,@comentario)"
Estou usando 3 parâmetros (@nome, @email e @comentario) e em seguida executando a consulta pelo método ExecuteNonQuery() que não retorna registros e em seguida redirecionando para a página visitas.aspx para exibir o comentário;
Nota: Para saber mais leia os meus artigos : Operações básicas com ASP.NET e VB.NET - Operações com dados que não retornam registros
Executando o projeto e preenchendo o formulário para incluir um registro no livro, após clicar no botão Enviar Comentário veremos a página exibindo o comentário incluído;
|  |  | 
É claro que muitas melhorias podem ser incluídas neste projeto :
Estas sugestões eu deixo a seu critério implementar, veja nas referências, links que lhe ajudarão a completar a tarefa.
Pegue o projeto completo aqui :
 Visitas.zip
 
Visitas.zip
Eu sei é apenas ASP .NET, mas eu gosto...

José Carlos Macoratti