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 :
Field Name - O nome da coluna
Data Type - O tipo de dados da coluna
Unique - Indica se os dados na coluna é único por linha
AutoIncrement - Indica se o campo é auto-icremental
AllowNull - indica se o campo permite valores nulos
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 :
Define uma string de conexão - "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\teste\Biblio.mdb"
Define uma instrução SQL p/acessar a tabela informada em TextBox1 - "SELECT * FROM " & TextBox1.Text
Cria um objeto conexao - myConn e um objeto comando - myCmd
Abre a conexão - myConn.Open()
Cria um objeto DataSet - Dim dtSet As New DataSet()
Preenche o DataSet com os dados - myCmd.Fill(dtSet, "Clientes")
Cria um objeto do tipo DataTable e obtem a tabela contida no DataSet - Dim dt As DataTable = dtSet.Tables(0)
Cria um objeto do tipo DataColumn - Dim dc As DataColumn
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