Atualmente, com o sucesso das “redes sociais”, um mural de
recados (ou livro de visitas) é o tipo de página que não pode faltar em seu site, vamos ver como
criar um bem simples.
Requisitos importantes: Este tutorial pressupõe que o SQL
Server foi instalado no “mixed mode”, ou seja, com login e senha. Normalmente,
nestes casos, o login é o usuário “sa”. Também deverá ter sido habilitado o
protocolo TCP/IP para acesso ao SQL Server e concedidos diretos de leitura e
gravação na pasta onde estará armazenado o banco de dados.
1.
O primeiro passo é criar no banco de dados uma tabela
para armazenar as mensagens do mural, com os campos: id, nome, email, mensagem
e data de criação do registro; o código para criação dessa tabela segue abaixo
(neste tutorial a tabela se chamará tbmural):
CREATE
TABLE [dbo].[tbmural](
[id] [int] IDENTITY(1,1) NOT NULL,
[nome] [nvarchar](50) NULL,
[mensagem] [nvarchar](50) NULL,
[dia] [date] NULL,
CONSTRAINT [PK_mural] PRIMARY KEY CLUSTERED
(
[id]
ASC
)WITH
(PAD_INDEX = OFF,
STATISTICS_NORECOMPUTE = OFF,
IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS =
ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON
[PRIMARY]
GO
ALTER
TABLE [dbo].[tbmural] ADD CONSTRAINT
[DF_mural_dia] DEFAULT (getdate()) FOR
[dia]
GO
2.
Insira alguns registros para teste.
3.
Agora verifique se foi corretamente instalado o
“driver” ODBC SQL Server Native Client 10.0 em seu computador (no Windows 7,
acione Painel de Controle – Ferramentas Administrativas – Fontes de dados ODBC
– Fontes de dados de sistema – “Adicionar”). Esse driver será exibido na lista
de drivers disponíveis.
4.
Agora abra seu editor, crie uma nova pagina chamada
“mural_teste.asp” (sem aspas) e insira o seguinte código p/ conexão ao SQL
Server:
<%@LANGUAGE="VBSCRIPT"
CODEPAGE="1252"%>
<%
Dim conexao
conexao="DRIVER={SQL Server Native
Client 10.0};server=XXXX;uid=sa;pwd=XXX;database=XXX"
5.
substitua, acima, os triplos X (“XXX”), pela senha e
nome do banco de dados; em “Server” utilize o nome da sua instância do SQL
Server (este nome é exibido quando vc acessa o SQL Server pelo “Management
Studio”). E agora vamos criar um “Recordset” para testar o acesso; adicione as
seguintes linhas:
Set
Recordset1 = Server.CreateObject("ADODB.Recordset")
Recordset1.ActiveConnection
= conexao
Recordset1.Source = "SELECT * FROM dbo.tbmural
order by id desc"
Recordset1.Open()
%>
<html
xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta
http-equiv="Content-Type" content="text/html;
charset=iso-8859-1" />
<title>mural
ASP com SQL Server</title>
</head>
<body>
Olá,
este é o meu primeiro Mural de recados em ASP
<p>
<%
While
(NOT Recordset1.EOF)
response.write
Recordset1.Fields.Item("nome")
%>
-
<%
response.write Recordset1.Fields.Item("mensagem")%>
<br
/>
<%
Recordset1.MoveNext()
Wend
%>
</body>
</html>
<%
Recordset1.Close()
Set Recordset1 = Nothing
%>
6.
Examine a pg no navegador; as mensagens já inseridas (passo
2) já poderão ser visualizadas normalmente; agora veremos como inserir novas
mensagens nessa página.
7.
Após a linha (Recordset1.Open()) acrescente o seguinte
código:
dim
vnome,vmensagem,vbotao
vnome=Request.Form("nome")
vmensagem=Request.Form("mensagem")
vbotao=Request.Form("MM_Insert")
If
(vbotao <> "") Then
If
(vnome <> "") Then
Set
Recordset2 = Server.CreateObject("ADODB.Recordset")
Recordset2.ActiveConnection
= conexao
Recordset2.Source
= "insert into dbo.tbmural(nome, mensagem)
values('"&vnome&"','"&vmensagem&"')"
Recordset2.Open()
Response.Redirect
"mural_teste.asp"
Recordset2.Close()
Set
Recordset2 = Nothing
End
If
End
If
Que será o responsável por inserir no banco de dados as
informações digitadas num formulário; para isso, após essas linhas:
<%
Recordset1.MoveNext()
Wend
%>
Insira o seguinte código:
<p>Insira
sua mensagem:
<form
method="post" action="" name="form1">
<table align="center">
<tr valign="baseline">
<td nowrap
align="right">Nome:</td>
<td><input
type="text" name="nome" value=""
size="32">
</td>
</tr>
<tr>
<td nowrap align="right"
valign="top">Mensagem:</td>
<td valign="baseline"><textarea
name="mensagem" cols="30"
rows="5"></textarea>
</td>
</tr>
<tr valign="baseline">
<td nowrap
align="right"> </td>
<td><input
type="submit" value="Insert record">
</td>
</tr>
</table>
<input type="hidden"
name="MM_insert" value="form1">
</form>
ANTES das linhas:
</body>
</html>
<%
Recordset1.Close()
Set
Recordset1 = Nothing
%>
É um formulário bem simples; teste no navegador; seu mural
já deverá estar funcionando corretamente.