O componente Ad Rotator cria um objecto AdRotator, que automatiza a alternãncia de imagens publicitárias numa página Web. Sempre que um utilizador abre ou recarrega a página, o componente AdRotator, apresenta um anúncio novo, baseado num ficheiro que especificar num ficheiro de agenda. Comecemos por criar as seguintes linhas de código, guardando-o como rodar.asp | ||
![]() | ||
Criemos um outro ficheiro com o seguinte código, ao qual chamamos texto.txt | ||
![]() | ||
Ambos os ficheiros foram gravados em c:\inetpub\wwwroot. Accionamos o nosso já conhecido PWM e o que observamos é o seguinte: | ||
![]() | ||
![]() | ||
Estas imagens vão alternando, cada vez que chamamos o PWM ou fazemos Refresh (F5) | ||
|
Se estás a criar uma aplicação baseada na Web, é provavel que essa aplicação venha a ter formulários, e que requeira algum tipo de Base de dados. O ADO (ActiveX Data Objects) fornece-te um conjunto de ferramentas poderosas para aceder e manipular origens de dados. | ||||||||||||||||||||||||||||||||
Consulta Simples : Ilustra como podes utilizar o ADO e o ASP em conjunto para efectuar consultas simples a Base de Dados. Iremos observar como obter um pequeno conjunto de registo a partir de uma Base de dados em Microsoft Access. Vamos observar o seguinte código, que guardamos como "simples.asp" | ||||||||||||||||||||||||||||||||
<%@ LANGUAGE = VBScript %>
<% Option Explicit %>
<HTML>
<BODY BGCOLOR="White" topmargin="10" leftmargin="10"><HEAD> <TITLE>Simples Query ADO </TITLE> </HEAD> <!-- Mostra cabeçalho--> <font size="4" face="Arial, Helvetica"> <b>Simples Query ADO com ASP</b></font><br> <hr size="1" color="#000000">
Contactos com a Base de Data Autores :<br><br>
<%Dim oConn Dim oRs Dim filePath Dim Index ' Identifica o caminho da Base de dados filePath = Server.MapPath("authors.mdb") ' Cria ADO Connection Component para conectar ' com a Base de Dados Set oConn = Server.CreateObject("ADODB.Connection") oConn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & filePath ' Executa a SQL query e guarda os resultados ' num recordset Set oRs = oConn.Execute("SELECT * From authors") %> <TABLE border = 1> <% Do while (Not oRs.eof) %> <% For Index=0 to (oRs.fields.count-1) %> <TD VAlign=top><% = oRs(Index)%></TD> <% Next %> </tr> <% oRs.MoveNext Loop %> </TABLE> <% oRs.close oConn.close %> </BODY> </HTML> | ||||||||||||||||||||||||||||||||
![]() | ||||||||||||||||||||||||||||||||
Acionando o nosso já conhecido PWM, e obteremos qualquer coisa como a imagem de cima.
Obs: A Base de dados que serviu para este teste, é a Autores.Mdb
| ||||||||||||||||||||||||||||||||
|
Este tutorial apesar de um pouco extenso tenta abordar 3 situações:
|
Comecemos por vos mostrar, e sequencia de resultados deste tutorial, seguido do código aplicado, ao qual demos o nome dePROC.ASP |
No 1º paço, se clicarmos no botão "PROCURAR" com a caixa de texto em branco, visualizaremos todo o conteudo da base de dados |
![]() |
A 2ª imagem é o resultado da Procura: |
![]() |
A 3ª imagem resulta da consulta solicitada quando clicamos no Link Detalhes, Todos os campos do registos são alteráveis com excepção da chave principal, que é atribuida automaticamente, com o nome de "sequencia" |
![]() |
Por defeito a ComboBox tem o opção actualizar, mas podemos alterá-la para apagar o respectivo registo ao clicarmos em "EXECUTAR A ACÇÃO", conforme ilustra a 4ª imagem |
![]() |
Segue o código que deu origem a tudo isto: |
<%@LANGUAGE="VBScript"%>
<%
Dim u session("act")="" session("sequencial") = ""%> <%Sub Listar()
filepath=Server.MapPath("authors.mdb")
Set conn = Server.CreateObject("ADODB.CONNECTION") conn.open "PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source=" & filepath set rs=Server.CreateObject("ADODB.Recordset")
SQLINST = "SELECT * FROM authors WHERE autor like '%" & Request.Form("nome") & "%'"
rs.open SQLINST, conn
%>
<table border="1" width="590" cellpadding="0" cellspacing="0">
<tr> <td width="11%" align="center"><Font face="ARIAL" Size="2"><b>SEQ</b></Font></td> <td width="22%" align="center"><b>NUMERO</b></td> <td width="55%" align="center"><b>NOME</b></td> <td width="12%" align="center"><b>ANO NASC</b></td>
</tr>
</table>
<%
u=0
while not rs.EOF%> <form action="proc.asp?accao=dados" method="POST"> <table border="2" width="650" cellpadding="0" cellspacing="0">
<tr>
<td width="10%" align="center"><%=(rs.fields.item("sequen").value)%></td> <td width="20%" align="center"><%=(rs.Fields.item("nr_id").value)%></td> <td width="50%" align="center"><%=(rs.Fields.item("autor").value)%></td> <td width="10%" align="center"><%=(rs.Fields.item("anonasc").value)%></td>
<td width="*"> <div align="center"><A HREF="proc.asp?accao=<%= MM_KeepNone & MM_joinChar(MM_KeepNone) & "sequencial=" & rs.fields.item("SEQUEN").value%>">Detalhes</a></div>
</td> </tr> </table>
<%u=u+1%>
<% rs.MoveNext
wend rs.close%>
<BR>Foram encontrados <%response.write u%> Registos
<BR>
<br><a href="proc.asp">Nova procura</a>
</form>
<%End Sub%>
<%Sub procura%>
<form action="proc.asp?accao=procura" method="POST"> <ALIGN="center"> NOME DO AUTOR : <input type="text" name="nome" size="22"> <input type="submit" value="Procurar"> </form> <%End Sub%>
<%select case request.querystring("accao")
case "procura" listar case "valor" accao case "" procura case else valor end select%> <% Function MM_joinChar(firstItem) If (firstItem <> "") Then MM_joinChar = "&" Else MM_joinChar = "" End If End Function %> <%sub valor%> <form action="proc.asp?accao=valor" method="post"> <%
MMColParam=Request.QueryString("accao")%>
<% Dim ins Dim MMColParam Dim numero Dim comp ins=0 numero=0 comp=0 ins=instr(1, MMColParam, "=") comp=Len(MMColParam) comp=comp - ins comp=Cint(comp) numero=right(MMColParam, comp) numero=Cint(numero)%> <% filepath=Server.MapPath("authors.mdb") Set conn = Server.CreateObject("ADODB.CONNECTION") conn.open "PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source=" & filepath set rs=Server.CreateObject("ADODB.Recordset") SQLINST = "SELECT * FROM Authors where sequen=" & numero rs.open SQLINST, conn %>
<%
session("seq")=rs ("sequen") session("nom")=rs ("autor") session("num")=rs ("nr_id") session("ano")=rs ("anonasc") rs.close %>
<table width="450" border="1" cellspacing="0" cellpadding="0">
<tr> <td width="137"> <div align="left">Sequencia</div> </td> <td width="313"> <div align="left"><%=session("seq")%></div> </td> </tr> <tr> <td width="137"> <div align="left">Numero</div> </td> <td width="*"> <div align="left"><input type="text" name="num" value="<%=session("num")%>"></div> </td> </tr> <tr> <td width="137"> <div align="left">Nome</div> </td> <td width="*"> <div align="left"><input type="text" name="nom" value="<%=session("nom")%>"></div> </td> </tr> <tr> <td width="137"> <div align="left">Ano Nascimento</div> </td> <td width="*"> <div align="left"><input type="text" name="ano" value="<%=session("ano")%>"></div> </td> </tr> </table> <br> Acção a tomar ?: <Select Name="accaoatomar"> <OPTION VALUE "1" selected>ACTUALIZAR</OPTION> <OPTION value "2">APAGAR</OPTION> </Select> <br> <br><input type="submit" value="Executar a Acção"><br> <br> <A HREF="proc.asp">Página Principal</a> <br>
</form>
<%end sub%>
<%sub apagar()
numero = session("seq")
filepath=Server.MapPath("authors.mdb") Set conn = Server.CreateObject("ADODB.CONNECTION") conn.open "PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source=" & filepath set rs=Server.CreateObject("ADODB.Recordset") SQLINST="delete from authors where sequen =" & numero conn.execute (SQLINST) response.redirect("proc.asp") %> <%end sub%> <%sub accao() select case request.form("accaoatomar") case "APAGAR" apagar case else actualizar end select%>
<%end sub%>
<%sub actualizar()
numero = session("seq") filepath=Server.MapPath("authors.mdb") Set conn = Server.CreateObject("ADODB.CONNECTION") conn.open "PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source=" & filepath set rs=Server.CreateObject("ADODB.Recordset") SQLINST = "update authors set autor ='" & Server.HTMLEncode(request.form("nom")) & "' where sequen=" & numero rs.Open SQLINST, conn SQLINST = "update authors set nr_id ='" & Server.HTMLEncode(request.form("num")) & "' where sequen=" & numero rs.Open SQLINST, conn SQLINST = "update authors set anonasc ='" & Server.HTMLEncode(request.form("ano")) & "' where sequen=" & numero rs.Open SQLINST, conn response.redirect ("proc.asp") %> <%end sub%> |
0 comentários:
Postar um comentário