como listar todas tabelas de um banco de dados SQL SERVER?
12/08/2004
0
estou desenvolvendo uma aplicação onde em determinado momento tenho que listar todas as tabelas de meu banco de dados SQL SERVER e depois listar todos os campos da tabela selecionada. O problema é que eu não tenho a minima idéia de como fazer isso.
aguardo uma ajuda.
balceiro
Balceiro
Posts
12/08/2004
Nilsonalvernaz
12/08/2004
Paullus
Se for por ADO o código abaixo resolve:
TADOConnection.GetTableNames(Tabelas);
Onde Tabelas é um objeto do tipo TStrings.
Ele retorna um lista com o nome de todas as tabelas do sistema. Para pegar os campos use o código abaixo:
Query.Active := false; Query.SQL.Clear; Query.SQL.Add(´SELECT *´); Query.SQL.Add(´FROM ´ + Tabelas.Strings[i]); Query.Active := true; for j := 0 to (Query.Fields.Count - 1) do ShowMessage(Query.Fields.Fields[i].FieldName);
Se precisar que eu seja mais claro é só falar. 8)
12/08/2004
Paullus
Eu errei na hora de digitar este último trecho de código leia-se assim
for j := 0 to (Query.Fields.Count - 1) do ShowMessage(Query.Fields.Fields[j].FieldName);
ShowMessage(Query.Fields.Fields[j].FieldName);
Errei aí em cima.
12/08/2004
Tg_luciano
Mas no firebird... eu faço assim
pegar os nomes das tabelas criadas.
SELECT RDB$RELATION_NAME
FROM RDB$RELATIONS
WHERE ((RDB$SYSTEM_FLAG = 0) OR
(RDB$SYSTEM_FLAG IS NULL)) AND
(RDB$VIEW_SOURCE IS NULL)
ORDER BY RDB$RELATION_NAME
pegar todos fields da tabela
select
r.rdb$field_name as CAMPO
from rdb$relation_fields r
where (r.rdb$relation_name=:Tabela)
12/08/2004
Balceiro
já resolvi o problema...
estou usando o DBEXPRESS para conectar.
usei o seguinte código dentro da mminha TSQLQUERY: ´EXEC sp_tables´
isso já me retounou todas as tabelas do MSSQL SERVER.
de qualquer forma muito obrigado a todos que se prontificaram a me ajudar.
Clique aqui para fazer login e interagir na Comunidade :)