ASP.NET 2.0 - Criando um Blog VII


Como anda o nosso Blog ?  Meio atrasado mas vai bem (pensaram que eu não ia terminar o blog ?) , obrigado. Se você chegou agora veja os artigos anteriores já publicados:

Nesse artigo vou apresentar gerar as estatísticas do blog, que são muito simples. Ao trabalho...

Ao abrir a página do Blog o usuário irá visualizar no canto esquerdo inferior um módulo contendo as estatísticas do site exibindo a quantidade de mensagens e de comentários postados no blog.

A exibição das estatísticas é feita usando um controle Web User Control chamado estatisticas.ascx.

Um web user control ASP.NET é parecido com uma página Web completa (*.aspx) contendo a interface do usuário  e código, e,  você cria um user control da mesma forma que você cria uma página web em ASP.NET.

 

Você pode criar web user controls reutilizando controles que já existem e isso torna a tarefa muito mais fácil do que criar controles personalizados ou Custom Controls.

 

Um web user control difere de uma página ASP.NET nos seguintes itens:

Nota: Para saber mais leia o meu artigo : ASP.NET - Web User Controls

O controle estatisticas.ascx é bem mais simples pois conterá apenas uma tabela e alguns controles Label.

- No menu WebSite selecione Add New Item e na janela Templates escolha  Web User Control, informando o nome Estatisticas.ascx e marcando  a opção Place code in separate file;

A partir do menu Layout selecione Insert Table e define uma tabela com duas linhas e duas colunas. Inclua em cada célula da tabela um controle Label definindo conforme a figura abaixo:

Agora vamos incluir o código no arquivo code-behind Estatisticas.ascx.vb  que irá obter a quantidade de mensagens da tabela mensagens e a quantidade de comentários da tabela comentarios;

Imports DAL
Partial Class Estatisticas
    Inherits System.Web.UI.UserControl

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

        If Not IsPostBack Then
            Try
                Dim o As New AcessoBD
                Dim i As Integer = o.ExecuteScalar("select count(*) from mensagens")
                Dim j As Integer = o.ExecuteScalar("select count(*) from comentarios")
                Label1.Text = i.ToString
                Label2.Text = j.ToString
            Catch ex As Exception
                Label1.Text = ex.Message.ToString
            End Try
        End If
    End Sub

End Class

No código acima estou criando uma instância da classe AccessoBD e usando o método ExecuteScalar() passando a instrução SQL que irá retornar a quantidade de mensagens e comentários.

Se você espiar o código do método na classe AcessoBD irá notar que o método retorna um valor inteiro;

    Public Function ExecuteScalar(ByVal sql As String) As Integer

            Dim cnn As SqlConnection = New SqlConnection(strConn)
            Dim cmd As SqlCommand = New SqlCommand(sql, cnn)
            cnn.Open()
            Dim retval As Integer = cmd.ExecuteScalar()
            cnn.Close()
            Return retval

        End Function

Tudo bem , mas como as tabelas mensagens e comentarios são atualizadas ?

Boa pergunta , garoto !!!

Ora , a tabela de mensagens é atualizada quando uma mensagem é inserida no blog pelo administrador. Irei mostrar como isso ocorre no próximo artigo.

A tabela comentarios é atualizada quando um comentário é postado no blog. Abrindo o formulário exibeMensagens.aspx na parte inferior iremos visualizar a área onde o usuário posta o comentário e clica no botão Enviar;

O código do evento Click do botão enviar é o seguinte:

  Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
        SqlDataSource3.Insert()
        DataList2.DataBind()
    End Sub

Note que estamos usando o método Insert() do controle SQLDataSource().

Vamos espiar como este método foi implementado selecionando o controle e clicando em Configure DataSource;

A seguir clique em Next> , Next> novamente, e, selecionando a aba INSERT iremos ver o código que usa uma instrução SQL INSERT INTO para atualizar a tabela de comentários;

Agora sim, encerrei a primeira parte onde mostrei como implementar todas as funcionalidades do nosso blog.

No próximo artigo iniciarei a parte de administração do blog onde é feito o cadastramento das categorias , mensagens e Links.

Veja a continuação em : Criando um Blog VIII (ainda inativo)

As vídeo aulas completas do blog estão no super Super DVD Vídeo Aulas. (Você também pode adquirir somente as vídeo aulas do blog aqui)

Até o próximo artigo ASP .NET 


José Carlos Macoratti