JcmSoft - VB.NET   Obtendo as propriedades de uma tabela

Nesta dica eu vou mostrar como podemos obter informações básicas sobre uma tabela em tempo de execução. Vamos obter informação sobre as seguintes propriedades das colunas :

Nesta dica eu vou acessar um banco de dados Access , o famoso Biblio.mdb , e acessar as propriedades acima de uma tabela Clientes que possui a seguinte estrutura:

Inicie um novo projeto no VS.NET do tipo Windows Applications , e , no formulário padrão - form1.vb - inclua os seguintes controles : uma label , uma caixa de texto , um ListBox e um botão de comando , conforme o layout abaixo:

Usando o intellisense você pode notar que existe uma relação de propriedades que podemos acessar e exibir.

agora insira o código abaixo no evento Click do botão de comando - button1 :

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

 

Dim strDSN As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\teste\Biblio.mdb"

Dim strSQL As String = "SELECT * FROM " & TextBox1.Text

' cria os objetos para conexao e comandos

Dim myConn As New OleDbConnection(strDSN)

Dim myCmd As New OleDbDataAdapter(strSQL, myConn)

 

myConn.Open()

Dim dtSet As New DataSet()

myCmd.Fill(dtSet, "Clientes")

 

Dim dt As DataTable = dtSet.Tables(0)

 

ListBox1.Items.Add("Field Name DataType Unique AutoIncrement AllowNull")

ListBox1.Items.Add("____________________________________________")

Dim dc As DataColumn

 

For Each dc In dt.Columns

   ListBox1.Items.Add((dc.ColumnName.ToString & vbTab & dc.DataType.ToString & vbTab & dc.Unique & vbTab & dc.AutoIncrement & vbTab & dc.AllowDBNull))

Next dc

End Sub

O código acima faz o seguinte :

  1. Define uma string de conexão  -  "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\teste\Biblio.mdb"

  2. Define uma instrução SQL p/acessar a tabela informada em TextBox1 -   "SELECT * FROM " & TextBox1.Text

  3. Cria um objeto conexao - myConn e um objeto comando - myCmd

  4. Abre a conexão -  myConn.Open()

  5. Cria um objeto DataSet -  Dim dtSet As New DataSet()

  6. Preenche o DataSet com os dados -  myCmd.Fill(dtSet, "Clientes")

  7. Cria um objeto do tipo DataTable e obtem a tabela contida no DataSet -  Dim dt As DataTable = dtSet.Tables(0)

  8. Cria um objeto do tipo DataColumn -  Dim dc As DataColumn

  9. Percorre cada coluna da tabela e lista as propriedades definidas

Executando o projeto iremos obter o resultado abaixo:

Até a próxima dica VB.NET ..


José Carlos Macoratti