SQL Dinâmico

Delphi

16/10/2006

Pessoal,
Acabo de ganhar um grande problema:
» tenho tabelas em bancos SQLServer e FireBird e preciso saber quantas e quais são as tabelas e depois de localizadas, saber quais são os campos contidos nelas.

Sei fazer isso em access, mas sinceramente, não sei nem por onde começar quando aos bancos acima.


Paulocesar1301

Paulocesar1301

Curtidas 0

Respostas

Joni Nunes

Joni Nunes

16/10/2006

vc pode pegar alguma ferramenta de modelagem, como por exemplo o ER Studio da Embarcadero, e fazer engenharia reverssa no seu banco, existem outras ferramentas para isso tb.

Abraço.


GOSTEI 0
Paulocesar1301

Paulocesar1301

16/10/2006

com certeza... o porém é que eu terei que fazer isso via código em Delphi... a idéia aqui é criar um gerenciador gráfico de bancos de dados para que usuários sem conhecimento possam fazê-lo...

seria uma coisa do tipo listview na esquerda com as tabelas e identação com seus campos respectivos e op tratamento e visualização de conteúdo na direita... a grosso modo, é claro !!


GOSTEI 0
Paulocesar1301

Paulocesar1301

16/10/2006

sobe :wink:


GOSTEI 0
Rjun

Rjun

16/10/2006

Veja se esse [url=http://www.swissdelphicenter.ch/en/datenbanken.php]link[/url] pode te ajudar.


GOSTEI 0
Rafael Gomes

Rafael Gomes

16/10/2006

se voce estiver usando ADO é relativamente pegar essas informações do banco de dados, pesquise sobre o metodo OpenSchema do AdoConnection, se nao estou estou enganado é isso mesmo ...
[]s


GOSTEI 0
Ramms

Ramms

16/10/2006

No SQL Server vc pode fazer isso
select name from sysobjects where xtype = ´U´


GOSTEI 0
Ramms

Ramms

16/10/2006

Desculpe a minha preguiça em não ter pensado mais e trabalhado mais no post anterior
tah aki uma instrução pra vc trazer o nome da tabela e as colunas
select tb.name as [Nome da Tabela], 
co.name as [Nome da Coluna]
from syscolumns as co
inner join
sysobjects as tb
on (tb.id=co.id)
where tb.xtype = ´U´



Espero ter ajudado


GOSTEI 0
Motta

Motta

16/10/2006

No Oracle para user com grant de DBA

SELECT TABLE_NAME
FROM    DBA_TABLES

SELECT TABLE_NAME,COLUMN_NAME
FROM    DBA_TAB_COLUMN
WHERE TABLE = ´...´



FAÇA UMA CONSULTA AO DICT PARA VER TODAS AS TABELAS DE METADADOS

SELECT *
FROM DICT


GOSTEI 0
Paulocesar1301

Paulocesar1301

16/10/2006

valew mesmo galera... vou testar as dicas e posto aqui o resultado

:wink:


GOSTEI 0
POSTAR