ASP e ADO - Fórum Visual Basic - Parte II
Na primeira parte do nosso artigo ASP e ADO - Fórum Visual Basic - Parte I abordamos aspectos teóricos envolvendo a hospedagem do site , o banco de dados: sua estrutura e localização ; e como fazer a conexão com nossa base de dados.
Veremos nesta segunda parte os arquivos de scripts asp que irão compor nosso fórum e como testar o site em seu computador local. Os arquivos que serão usados para criar o nosso site são os seguintes:
Default.asp - O arquivo que será executado quando o usuário acessar o site. Ele Exibirá a mensagem de boas vindas , o número de mensagens já postadas e data da última postagem e três links:
O link de acesso ao Fórum
O link para leitura das regras do Fórum
O link para retornar ao site Visual Basic (podemos ignorar este link...)
Forum.asp - O arquivo que será executado quando o usuário clicar no Link para entrar no Fórum. Este arquivo irá exibir uma opção para busca no site , as mensagens e as repostas por data e hora e links para postar uma mensagem ou retornar a página inicial.
Busca.asp - O arquivo que realiza a busca no site pela string informada pelo usuário. É executado quando o usuário clica no botão - Procurar.
Mensagem.asp - É executado quando o usuário clicar no link da mensagem. Exibe a mensagem e permite que o usuário responda a mensagem exibida.
Postar.asp - Exibe o formulário para postar uma mensagem.
Config.inc - Arquivo de inclusão que contém a rotina para conexão e para formatação da data a ser exibida.
Adovbs.inc - Arquivo com as constantes ADO usadas na conexão ao banco de dados.
rodape.inc - Arquivo que exibe os links para a página principal.
A tela inicial do Fórum Visual Basic exibida quando o usuário acessa o endereço pela URL do site do Fórum é a seguinte:
O arquivo que gera esta tela é o arquivo chamado default.asp. Este arquivo será executado assim que o usuário acessar o site pela URL indicada. Vejamos a seguir o código deste arquivo:
<!-- #INCLUDE
FILE="config.inc"--> <HTML> <HEAD> <TITLE>Fórum de Discussão Visual Basic - JcmSoft </TITLE> <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1"> <LINK REL="stylesheet" HREF="forum.css"> </HEAD> <BODY BGCOLOR="#FFFFFF" LEFTMARGIN="0" TOPMARGIN="0" MARGINWIDTH="0" MARGINHEIGHT="0"> <TABLE WIDTH="100%" BORDER="0" CELLSPACING="0" CELLPADDING="12" BGCOLOR="aqua"> <TR VALIGN="TOP"> <TD ALIGN="center"><H5><IMG SRC="forum.gif" WIDTH="30" HEIGHT="30" ALIGN="absmiddle" HSPACE="4">Fórum de Discussão - <%= SiteTitle %></H5></TD> </TR> </TABLE> <TABLE WIDTH="90%" BORDER="0" CELLSPACING="1" CELLPADDING="12" ALIGN="CENTER"> <TR ALIGN="LEFT" VALIGN="TOP" BGCOLOR="#FFFFFF"> <TD colspan="2"> <% ' Le os detalhes de todos os forum deste site ' Mostra todos com estatisticas de acesso Dim rsForums Set rsForums = Connect (ForumMDB).Execute ("SELECT * FROM Forums ORDER BY Forum ASC") rsForums.MoveFirst %> <table width="100%" align="center" cellspacing="0" cellpadding="6" border="1"> <tr> <td width="60%"> <p><b>Benvindos</b> </tr> <% While Not rsForums.EOF %> <tr> <td><a href="forum.asp?ForumID=<%= rsForums("ForumID") %>"><B><%= rsForums("Forum") %></B></a> <BR> <BLOCKQUOTE> <%= rsForums ("Description")%><BR> <SMALL>[Mensagens: <%= rsForums("Posts") %>] [Última postagem <%= shortDate(rsForums("LastPost")) %>]</SMALL> </BLOCKQUOTE> </tr> <!--<tr><td> Leia as regras de conduta do Fórum Visual Basic - <A HREF="<A http://www15.Brinkster.com/macoratti/regras.htm" target=main>Regras de Conduta</A><BR>">--> <tr><td>Leia as regras de conduta do Fórum Visual Basic - <A HREF= "regras.htm" target=main >Regras de Conduta</A> </tr></td> <% rsForums.MoveNext Wend rsForums.Close set rsForums=nothing %> </table> </TD> </TR> </TABLE> <hr color="#00FFFF"> <TABLE WIDTH="100%" BORDER="0" CELLSPACING="0" CELLPADDING="6" ALIGN="CENTER"> <TR ALIGN="CENTER" VALIGN="TOP"> <TD ALIGN="RIGHT" WIDTH="20%"> <DIV ALIGN="RIGHT"><A HREF="http://www.geocities.com/macoratti">Retorna ao Site Visual Basic </A></DIV> </TD> </TR> </TABLE> </BODY> </HTML> |
A primeira linha do arquivo default.asp é a seguinte: <!-- #INCLUDE FILE="config.inc"-->
Nesta linha estamos fazendo a inclusão do arquivo config.inc. Lembre-se que o arquivo de INCLUDE é executado antes que ocorra qualquer processamento da página asp. O conteúdo do arquivo config.inc é o seguinte:
<%
Option Explicit %> <!-- #INCLUDE FILE="adovbs.inc" --> <% Response.Buffer = True Response.Expires = -1000 ' ForumMDB é o nome do seu banco de dados ' Se voce colocar o banco de dados em um diretorio diferente dos arquivos asp ' utilize a sintaxe : ../forum.mdb" ' Ex: Se colocar em um diretorio BASE , por exemplo, use: BASE/forum.mdb" Const ForumMDB = "forum.mdb" ' Este e o titulo do seu site Const SiteTitle = " Visual Basic" Const ForumID = 1 'so temos um site ' Dado o caminho do banco de dados a função retorna ' um objeto Connection Function Conexao () Dim DB Set DB = Server.CreateObject("ADODB.Connection") DB.Mode = adModeReadWrite 'temos que permitir inclusao DB.open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("\macoratti\XXXX\forum.mdb") Set Conexao = DB End Function ' A função ShortDate() formata uma Data em uma string ' no formato : DD MMM, YYYY. Public Function ShortDate(dtDate) If Not IsNull (dtDate) Then ShortDate = Day(dtDate) & "-" & Month(dtDate) & "-" & right(Year(dtDate),2) & " " & hour(dtdate) & ":" & minute(dtdate) Else ShortDate = dtDate End If End Function %> |
Este arquivo irá usar outro arquivo de INCLUDE - o arquivo : adovbs.inc que possui as constantes ADO usadas na conexão com o banco de dados. (Ex: usamos a constante adModeReadWrite.)
A função Conexao() irá fazer a conexão com o banco de dados - forum.mdb. Observe que usamos - uma string de conexão ODBC para um banco de dados Microsoft Access. Você deverá alterar o local substituindo o caminho "\macoratti\XXXX\forum.mdb" para o seu caso específico.
A função ShortDate(dtDate) receberá uma data e ira retornar a data formatada na forma : dd-mm-aa hh:mm.
Acho que deu para você ter uma visão geral de como você pode implementar um fórum no seu site. Para não alongar muito o artigo agora pegue os arquivos do forum implementado no Brinkster : Forum
Nota : Para acessar o fórum atual clique em : http://www.macoratti.net/forum1/
E vou ficando por aqui ; após fazer o download basta descompactar e estudar... (até o próximo artigo ASP )
Referências:
Seção ASP .NET do site Macoratti.net
Super DVD Vídeo Aulas - Vídeo Aula sobre VB .NET, ASP .NET e C#