Fórum Como extrair a estrutura de um banco de dados? #182641
17/09/2003
0
Fala galera!
Possuo uma aplicação com banco de dados Access e preciso saber via código, qual a estrutura interna do banco.
Por exemplo, suponhamos um banco de dados com a seguinte estrutura:
- 2 Tabelas: tabelas de nomes [b:3d14b34544]MinhaTab1 [/b:3d14b34544]e [b:3d14b34544]MinhaTab2[/b:3d14b34544];
- MinhaTab1 possui 3 campos: [b:3d14b34544]CampoA[/b:3d14b34544], [b:3d14b34544]CampoB [/b:3d14b34544]e [b:3d14b34544]CampoC[/b:3d14b34544];
- MinhaTab2 possui 2 campos: [b:3d14b34544]CampoX [/b:3d14b34544]e [b:3d14b34544]CampoY[/b:3d14b34544];
O que eu preciso é, em tempo de execução do programa, saber os nomes das tabelas e dos respectivos campos citados acima. Como extrair estas informações?
Alguém pode dar uma ajudinha nisso?
Valeu!
wbb
Possuo uma aplicação com banco de dados Access e preciso saber via código, qual a estrutura interna do banco.
Por exemplo, suponhamos um banco de dados com a seguinte estrutura:
- 2 Tabelas: tabelas de nomes [b:3d14b34544]MinhaTab1 [/b:3d14b34544]e [b:3d14b34544]MinhaTab2[/b:3d14b34544];
- MinhaTab1 possui 3 campos: [b:3d14b34544]CampoA[/b:3d14b34544], [b:3d14b34544]CampoB [/b:3d14b34544]e [b:3d14b34544]CampoC[/b:3d14b34544];
- MinhaTab2 possui 2 campos: [b:3d14b34544]CampoX [/b:3d14b34544]e [b:3d14b34544]CampoY[/b:3d14b34544];
O que eu preciso é, em tempo de execução do programa, saber os nomes das tabelas e dos respectivos campos citados acima. Como extrair estas informações?
Alguém pode dar uma ajudinha nisso?
Valeu!
wbb
Wbb
Curtir tópico
+ 0
Responder
Posts
17/09/2003
Joilson_gouveia
Vc precisa decidir de que forma quer acessar o Banco...Se via BDE ou via
ADO:
se ADO:
- Inserir 1 ADOConnection1
- Inserir 1 ADOQuery1
Para recuperar as tabelas, use a propriedade GetTableNames do componente ADOConnection1 e armazene o resultado em uma TStringList ou TComboBox ou TListBox:
[b:e8a407c63d]... ADOConnection1.GetTableNames(ComboBox1.Items);[/b:e8a407c63d]
Para recuperar os campos das tabelas, use a propriedade GetFieldNames:
[b:e8a407c63d]...ADOConnection1.GetFieldNames(´TABELA´, ListBox1.Items);[/b:e8a407c63d]
substitua TABELA pelas tabelas do Banco, através de um loop, que varrerá o ComboBox/ListBox/StringList escolhido para armazenar os nomes das tabelas...
Espero ter ajudado.
Não tenho um exemplo completo, mas acho que essas dicas farão com que vc pesquise mais...
ADO:
se ADO:
- Inserir 1 ADOConnection1
- Inserir 1 ADOQuery1
Para recuperar as tabelas, use a propriedade GetTableNames do componente ADOConnection1 e armazene o resultado em uma TStringList ou TComboBox ou TListBox:
[b:e8a407c63d]... ADOConnection1.GetTableNames(ComboBox1.Items);[/b:e8a407c63d]
Para recuperar os campos das tabelas, use a propriedade GetFieldNames:
[b:e8a407c63d]...ADOConnection1.GetFieldNames(´TABELA´, ListBox1.Items);[/b:e8a407c63d]
substitua TABELA pelas tabelas do Banco, através de um loop, que varrerá o ComboBox/ListBox/StringList escolhido para armazenar os nomes das tabelas...
Espero ter ajudado.
Não tenho um exemplo completo, mas acho que essas dicas farão com que vc pesquise mais...
Responder
Gostei + 0
18/09/2003
Wbb
Obrigado joilson_gouveia!
Realmente é com ADO o acesso ao banco de dados. Eu havia esquecido de citar.
Não é necessário o exemplo, pois da maneira como você explicou já está ótimo, além de simples.
Obrigado novamente.
wbb
Realmente é com ADO o acesso ao banco de dados. Eu havia esquecido de citar.
Não é necessário o exemplo, pois da maneira como você explicou já está ótimo, além de simples.
Obrigado novamente.
wbb
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)