ASP.NET - Exibindo os nomes dos campos de uma tabela em um Listbox


Como preencher um listBox com os nomes dos campos de uma tabela ?

Para o projeto deste artigo vou usar a linguagem VB.NET e o Web Matriz como editor de código e servidor para executar e testar a página ASP.NET. Portanto você vai precisar somente do Web Matrix e do Windows XP , NT ou 2000.

Abra o Web Matrix ass e clique no Menu File | New. A seguir você irá selecionar as opções:

O IDE do Web Matrix oferece 4 modos de visualização conforme figura abaixo. Cada modo exibe um código referente ao contexto. Assim :

1- Preenchendo um ListBox e exibindo os nomes dos campos de uma tabela

Na guia Code insira os controles: listbox - (ID = lst1) , dropdownlist- (ID = ddl1)  conforme a figura abaixo:

O código da guia Code é dado abaixo:

Dim MySQL as string

Sub Page_Load(Source as Object, E as EventArgs)
    if not Page.IsPostBack then
        with ddl1.items
            .add ("Funcionários")
            .add ("Produtos")
            .add ("Pedidos")
            .add ("Transportadoras")
        end with
    end if
    executaSQL
End Sub

sub executaSQL()
        Dim tabela as string = ddl1.selecteditem.value
        MySQL = "Select Top 1 * from " & tabela

        Dim contador as Integer
        Dim strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & server.mappath("data\Northwind.mdb")

        Dim Conexao as New OleDbConnection(strConn)

        Dim objDR as OleDbDataReader
        Dim Cmd as New OleDbCommand(MySQL,Conexao)

        Conexao.Open()

        Try
                objDR=Cmd.ExecuteReader(system.data.CommandBehavior.CloseConnection)
                lst1.items.clear()
                For contador = 0 To objDR.FieldCount-1
                    lst1.Items.Add(objDR.GetName(contador))
                Next contador
        Catch ex as Exception
                response.Write (ex.Message)
        Finally
                Conexao.Close()
        End Try

end sub
 

O código faz o seguinte :

No evento Page_Load estou preenchendo o dropdownlist com os nomes das tabelas do banco de dados northwind.mdb e em seguida chamando a rotina executaSQL.

A rotina executaSQL monta uma instrução SQL com o nome da tabela selecionada - ddl1.selecteditem.value - e em seguida abre uma conexão com o banco de dados  ; cria um objeto dataReader e um objeto Command gerado com a instrução SQL :
 "Select Top 1 * from " & tabela

A conexão é aberta e o listbox é preenchido com os nomes dos campos da tabela selecionada. Executando o projeto teremos:

Pegue o arquivo ASP.NET deste artigo :  aqui

Para ver o projeto funcionando clique : Aqui

Eu sei , é apenas ASP.NET , mas eu gosto...


 

José Carlos Macoratti