como listar todas tabelas de um banco de dados SQL SERVER?

12/08/2004

0

Olá,

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

Balceiro

Responder

Posts

12/08/2004

Nilsonalvernaz

não entendi, vc quer pesquisar somente? pode usar sp_help no query analyzer


Responder

12/08/2004

Paullus

Como você está fazendo a conexão com o banco? ADO, BDE, ODBC,...

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)


Responder

12/08/2004

Paullus

for j := 0 to (Query.Fields.Count - 1) do ShowMessage(Query.Fields.Fields[i].FieldName);


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.


Responder

12/08/2004

Tg_luciano

Bom não sei se vai funcionar em SQL SERVER....
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)


Responder

12/08/2004

Balceiro

gente beleza...


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.


Responder

Que tal ter acesso a um e-book gratuito que vai te ajudar muito nesse momento decisivo?

Ver ebook

Recomendado pra quem ainda não iniciou o estudos.

Eu quero
Ver ebook

Recomendado para quem está passando por dificuldades nessa etapa inicial

Eu quero

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

Aceitar