Aprenda a realizar operações básicas envolvendo bancos de dados com o ASP.
Continuando o post anterior, veremos como listar os registros existentes em uma tabela no banco. Antes de qualquer coisa, verifique se você baixou o banco de dados de exemplo citado no post anterior, pois ele será necessário agora.
A última coisa que fizemos foi a criação de um novo arquivo “ASP VBScript” no Dreamweaver, o qual acrescentamos as seguintes linhas no topo (a primeira já existe):
<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<%
set conexao = Server.CreateObject("ADODB.Connection")
conexao.Open "Provider=Microsoft.Jet.OLEDB.4.0;DataSource="&Server.MapPath("banco.mdb")&";"
Set registros = Server.CreateObject ("ADODB.Recordset")
registros.Open "usuarios",conexao,3,3
%>
Com a utilização do método “Open” do objeto “registros”, este passa a se comportar como um array, ou seja, pode ter seus valores acessados através de índices. Mas que índices são esses? E quais seriam os valores? Resposta: os índices correspondem aos nomes dos campos existentes na tabela de nome “usuarios”. E os valores armazenados no array são os valores do registro para cada campo. Veja na prática, acrescentando as seguintes linhas ao body do documento:
<body>
<%=registros("codigo") & " "%>
<%=registros("nome") & " "%>
<%=registros("email") & " "%>
<%=registros("datanasc")%>
</body>
O que fizemos foi escrever o conteúdo de cada um dos campos especificados. Perceba que os valores exibidos correspondem a apenas um registro. Na verdade, o primeiro registro da tabela. Podemos exibir os demais utilizando um método existente para o objeto “registros”: o MoveNext. Vejamos seu funcionamento:
<body>
<%=registros("codigo") & " "%>
<%=registros("nome") & " "%>
<%=registros("email") & " "%>
<%=registros("datanasc")%>
<% registros.MoveNext %>
<%="<br />"%>
<%=registros("codigo") & " "%>
<%=registros("nome") & " "%>
<%=registros("email") & " "%>
<%=registros("datanasc")%>
<% registros.MoveNext %>
<%="<br />"%>
<%=registros("codigo") & " "%>
<%=registros("nome") & " "%>
<%=registros("email") & " "%>
<%=registros("datanasc")%>
</body>
Perceba que a cada uso do MoveNext, passamos a trabalhar com o próximo registro. Logo, apesar de estarmos apenas repetindo os mesmos comandos, a cada repetição exibimos os valores de um registro diferente.
É claro que nem de longe este código está prático. Da forma como foi criado, seria necessário copiar e colar os blocos de código repetidos tantas vezes quantos fossem os registros – portanto o código poderia crescer indefinidamente. Bom, é para isso que servem as estruturas de repetição. Podemos repetir os blocos de código até que atinjamos o fim dos registros. Como isso é possível? Através da propriedade EOF, também presente no objeto “registros”. Esta é um propriedade booleana: é verdadeira quando se chega ao fim da tabela e falsa em caso contrário. Logo, o código final poderia ficar assim:
<body>
<%
' Até chegarmos ao fim da tabela...
Do Until registros.EOF
' ...escreveremos os dados do registro atual
%>
<%=registros("codigo") & " "%>
<%=registros("nome") & " "%>
<%=registros("email") & " "%>
<%=registros("datanasc")%>
<%="<br />"%>
<% registros.MoveNext %>
<% Loop %>
</body>
Exercício: organize os dados dos registros exibindo-os dentro de uma tabela (<table>). Dica: substitua os espaços em branco e a quebra de linha pelas tags <td> e <tr> (abra-as e feche-as corretamente).
Por hoje é só, pessoal. Em breve continuarei este artigo demonstrando como inserir novos registros em uma tabela.
26.05.2008 às 13:21 |
Olá.
espero anciosamente pela continuação do artigo pois estou precisando muito.
Obrigado pela disposição de estar disponibilizando o seu conhecimento para quem precisa.
Obrigado.
22.07.2008 às 10:29 |
Olá,
eu fiz um sitezinho em html para um trabalho da escola e nele tem uma página de cadastro, nessa página e queria que os dados fosse armazenados em um BD.
Como eu poderia fazer isso? Eu nunca usei o Dreamweaver, teria algum outro recurso disponivel para isso?
Obrigada.