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 '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") 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> <meta http-equiv="Content-Type"
content="text/html; charset=windows-1252"> <title>Caixa de Listagem</title> </head> <% Do While Not rs.EOF %> <option value="<% = rs("Author") %>"><% = rs("Author") %></option> <% rs.movenext %> <% loop %> </select><br> </p> </body> <%
rs.close %> |
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