LER ESTRUTURA BANCO DE DADOS MYSQL

ELMO01 28/02/2013 09:26:28
#419715
Bom dai a todos

Estou tentando ler a estrutura de um banco de dados do MYSQL e preencher um lisbox com estas informações, só que não estou conseguindo fazer isto, se alguém poder me ajudar, ficarei grato.

Obrigado,

Elmo
LLAIA 28/02/2013 11:22:30
#419720
SELECT * FROM INFORMATION_SCHEMA.TABLES 


SELECT * FROM INFORMATION_SCHEMA.COLUMNS


Não tenho MYSQL aqui pra te passar um exemplo mais preciso, mas com essas queries vc pode pegar o que vc quer.


ELMO01 28/02/2013 14:32:17
#419729
LLAIA - vou verificar e ver se vai dar certo - mesmo assim mt obrigado por ter respondido
KURTGU 28/02/2013 16:11:49
#419735
Ve se e isso o que vc quer..fazer...

Nesse Link
http://www.bindideias.com.br/tag/backupmysql/
ELMO01 28/02/2013 21:30:20
#419748
Kurtgu - em primeiro lugar gostaria de agadeçer por ter respondido, mas não é bem isto que eu quero, o que estou pensando em fazer é programa que lei a estrutura de um banco de dados MYSQL e que me mostre esta estrutura em um listbox, com isto posso arrastar e soltar dentro do form.
ELMO01 01/03/2013 20:18:21
#419787
Alguém tem alguma idéia de como posso fazer isto?
ALTAIR148 02/03/2013 13:46:06
#419816
Resposta escolhida
Bom dia,

Acho que é isso que você quer:

 Dim reader As MySql.Data.MySqlClient.MySqlDataReader
Dim cmd As MySql.Data.MySqlClient.MySqlCommand
cmd = New MySql.Data.MySqlClient.MySqlCommand([Ô]describe nomedatabela[Ô], GetConexao1)
reader = cmd.ExecuteReader
While reader.Read
lista_Campos.Items.Add(reader([Ô]FIELD[Ô]))
End While
ELMO01 04/03/2013 21:07:25
#419901
Altair - obrigado por ter respondido, mas não entendi foi o GETCONEXAO1, como fica esta variável?
ALTAIR148 04/03/2013 23:01:01
#419910
Esse GETCONEXAO1 e a conexão com o banco,

Poste ai um exemplo de um select que vc faz que eu adapto pra vc.
ELMO01 05/03/2013 21:07:24
#419976
Altair fiz uma SUB desta forma:

StrServCad01 = Server=LocalHost;User id=root;password=;database=mysql_carteiras;
Str_Cad03 = [Ô]SELECT * FROM tab_funciona order by Codigo_Empr[Ô]


Sub Mostra_EStrtura()
Dim dr_Empresa As MySqlDataReader
Dim Con_Empresa As New MySqlConnection(StrServCad01)
Dim Cmd_Empresa As New MySqlCommand(Str_Cad03, Con_Empresa)
Con_Empresa.Open()
dr_Empresa = Cmd_Empresa.ExecuteReader
Try
Me.ListBox1.MultiColumn = True
Do While dr_Empresa.Read
For i = 1 To dr_Empresa.FieldCount - 1
Me.ListBox1.Items.Add(dr_Empresa.GetName(i)).ToString()
Next i
Loop
Catch ex As Exception

End Try
End Sub

Nome do banco de dados: tab_funciona


Estrutura do banco de dados:


Id,Codigo_Empr, int(11)
Codigo_Func, varchar(6)
Nomes_Func, varchar(40)
Cargos_Func, varchar(20)
NumCPF_Func varchar(14)
NumIde_Func, varchar(20)
Empres_Func, varchar(20)
DatAdm_Func, date
CNHEmp_Func, varchar(20)
NumCra_Func, varchar(6)
Status_Func, varchar(1)
User_Name, varchar(60)
User_Date, date
User_Time, time
User_Work, varchar(20)
User_Node, varchar(15)
User_Trav varchar(40)

Só que está me listando várias vezes a estrutura do banco de dados.

Como arrumar isto?

Obrigado.

Elmo
ALTAIR148 06/03/2013 07:47:53
#419981
Bom dia,

Tente assim:


  StrServCad01 = Server=LocalHost;User id=root;password=;database=mysql_carteiras;
Str_Cad03 = [Ô]SELECT * FROM tab_funciona order by Codigo_Empr[Ô]


Sub Mostra_EStrtura()
Dim dr_Empresa As MySqlDataReader
Dim Con_Empresa As New MySqlConnection(StrServCad01)
Dim Cmd_Empresa As New MySqlCommand(Str_Cad03, Con_Empresa)
Con_Empresa.Open()
dr_Empresa = Cmd_Empresa.ExecuteReader
Try
Me.ListBox1.MultiColumn = True
While dr_Empresa .Read
Me.ListBox1.Items.Add(dr_Empresa.GetName(i)).ToString()
End While
Catch ex As Exception

End Try
End Sub


Do jeito que vc estava fazendo, você estava colocando um for dentro de um While ai ele ia fazer vários loop
Página 1 de 2 [11 registro(s)]
Tópico encerrado , respostas não são mais permitidas