USUÁRIO:      SENHA:        SALVAR LOGIN ?    Adicione o VBWEB na sua lista de favoritos   Fale conosco 

 

  Dicas

  ASP - Active Server Page    (Miscelâneas)

Título da Dica:  Encher uma Combo Box com dados de uma Base de Dados
Postada em 23/10/2003 por ^HEAVY-METAL^            
Encher uma combo box com dados da Base de Dados é algo que normalmente os programadores de ASP precisam muito. Este código apresenta-nos um exemplo de como o fazer. É algo que todo o iniciante deve de ler e implementar.

Primeiro abrimos a base de dados, executamos a declaração de SQL, e guardamos o resultado num recordset. Assim que temos o recordset, fazemos um loop que põe os dados dentro da Combo Box. A estrutura da BD usada para este exemplo é muito simples e apresenta-se a seguir :

  Topic
ID Number
Name Text


Aqui está o código, muito simples de se perceber.

<%
    ' o objecto para a conexão
    Dim objConnection
    ' o objecto para o recordset
    Dim objRecordset

    ' criação do objecto para a conexão
    Set objConnection = Server.CreateObject("ADODB.Connection")
    ' abrir a conexão por DSN
    objConnection.Open

    ' criação do objecto recordset
    Set objRecordset = Server.CreateObject("ADODB.Recordset")


    ' criar a declaração de SQL    
    Dim strSQL
    strSQL = "SELECT ID, NAME FROM TOPIC"

    ' executar a declaração de SQL desejada
    ' Esta deverá de retornar toda a informação pretendida
    ' para dentro da Combo Box
    objRecordset.Open strSQL, objConnection
%>

<HTML>
<BODY>
    <FORM ACTION="umurl.asp" METHOD=POST>
        Choose from the combo:
        select name="lstTopic" size="1">
<%
        ' enquanto não chegamos ao fim dos dados
        Do While Not objRecordset.EOF
            'pomos o valor do Id
            ' muito importante para tabelas linkadas
%>
            <option VALUE="<%=objRecordset("ID")%>">
                <!-- Aqui é o que aparece na Combo -->
                <%=objRecordset("NAME")%></option>
<%
            ' Movemos para os dados seguintes do recordset...
            objRecordset.MoveNext
        Loop ' continuamos o Loop
%>
        </SELECT>
    </FORM>

</BODY>
</HTML>


<%
    ' fechar o objecto do recordset
    objRecordset.Close

    ' limpar o objecto do recordset
    Set objRecordset = Nothing
%>

T+,
 


CyberWEB Network Ltda.    © Copyright 2000-2024   -   Todos os direitos reservados.
Powered by HostingZone - A melhor hospedagem para seu site
Topo da página