TUTORIAIS DE ASP
 
3. Conectividade com Base de Dados-Consutar / Anular
Página: 1 2 3 4 5 6
 

Este tutorial apesar de um pouco extenso tenta abordar 3 situações:

  • Consultar a Base de dados Author pelo campo NOME, bastando escrever alguns caracteres que constem desse mesmo nome
  • Chamar o registo desejado
  • Actualizar os campos actualizaveis (numero, nome e data de nascimento)
  • Apagar um registo da base de Dados

 

Comecemos por vos mostrar, e sequencia de resultados deste tutorial, seguido do código aplicado, ao qual demos o nome de PROC.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%>

 

ANÚNCIOS

 



 
 
 
  Tutoriais | Fóruns de Discussão | Notícias | Jogos | Dicas | Flash | Downloads | Livros
Gifs Animados | Loja Online | Publicitar no Truques e Dicas | Contactos