ASP -  Preenchendo uma Caixa de Listagem c/dados de uma tabela


Vamos mostrar como preencher uma caixa de listagem com dados de uma tabela de um banco de dados Access 2000 em uma página ASP. Vamos usar o banco de dados Biblio.mdb e carregar os dados da tabela Authors ( somente o nome - Author ). 

Neste exemplo estarei usando um provedor OLE DB para a conexão com o banco de dados , a utilização de um provedor OLE DB é mais eficiente que um driver ODBC. Acontece que muitos servidores ainda não suportam os provedores OLE DB e você deve estar atento a isto quando for abrir um banco de dados usando ADO. Para testar os códigos estaremos usando o Servidor www.visualbasic.mat.br

Abaixo a string de conexão com ODBC e OLE DB.

strconn ="DRIVER=Microsoft Access Driver (*.mdb);DBQ=" & Server.MapPath("/database/bibio.mdb")

Usando um provedor OLE DB temos:

strconn ="PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA SOURCE=" + Server.MapPath("/database/biblio.mdb")

Ao código:

<%

'Declarando as variáveis 

Dim conn
Dim rs
Dim strconn

'strconn ="DRIVER=Microsoft Access Driver (*.mdb);DBQ=" & Server.MapPath("bibio.mdb") 

strconn ="PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA SOURCE=" + Server.MapPath("/database/biblio.mdb")

set conn = server.createobject("adodb.connection")
set rs = server.createobject("adodb.recordset")
conn.open strconn

strsql = "SELECT Author FROM Authors where Au_Id < 30 "    'seleção dos autores com código menor que 30

rs.open strsql, conn, 2, 2       'não estou usando o arquivo adovbs.inc , por isso uso os numeros 2,2 

%>

<html>
<
head>

<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<
meta name="GENERATOR" content="Microsoft FrontPage 3.0">

<title>Caixa de Listagem</title>

</head>
<
body>

<
p><select name="d1" size="5" multiple>

<% Do While Not rs.EOF %

<option value="<% = rs("Author") %>"><% = rs("Author") %></option>

<% rs.movenext %>

<% loop %>

</select><br>

</p>

</body>

<%
'Feche todos os seus objetos e limpe a memoria

       rs.close
      conn.close
      set rs = nothing
      set conn = nothing

%>

Usamos um loop Do While para percorrer a tabela e preencher a caixa de listagem.

Para ver o código funcionando clique aqui =>  listagem.asp

Por enquanto é só...   


 José Carlos Macoratti