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


Wbb

Wbb

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...


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


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar