Fórum Listar Tabelas de um BD qualquer em JAVA #569294

30/03/2011

0

Então pessoal sou novo aqui no forum, dei uma olhada nos topicos mas ainda não acjei o que eu queria (eu acho), estou com uma duvida sobre um exercicício proposto pelo professor. Desenvolva uma aplicação em Java para desktop. A aplicação deve ser baseada em JFrame para exibir os metadados de um determinado banco de dados. Desenvolva uma ou mais Interfaces Gráficas para realizar esta tarefa. A aplicação irá exibir os seguintes metadados: Listar as tabelas. Listar os campos e tipos de uma tabela. Listar as constraints. Exibir os dados. As configurações do banco devem ser armazenadas e lidas em arquivo texto. A aplicação deve permitir alterar as configurações do banco. Na parte de GUI não vou ter problema algum, queria saber se tem alguma função ou metodo do java que liste tabelas dos banco de dados. Ou terei que criar um esquema que monte tabelas coluna por coluna? Vlw pela atenção de todos.
Gabriel Vendramini

Gabriel Vendramini

Responder

Posts

22/08/2012

Eduardo Pereira

Depende do banco, cada SGDB possui tabelas que retornam essas informações. Um exemplo no sqlserver:
SELECT * FROM sys.tables where name='NomedaTabela';//para uma abrangência maior, verifique os relacionamentos
Responder

Gostei + 0

22/08/2012

Eduardo Pereira

Passa para gente o banco que vai usar. Se quiser opniões free, já vou indicar postgresql abcs
Responder

Gostei + 0

22/08/2012

Eduardo Pereira

A princípio vc terá que fazer um select no banco para poder listar esses resultados. Dá uma olhada nesses tópico e vê se te ajuda: [url]http://netbeans.org/kb/70/java/gui-db.html[/url] Nesse artigo aqui explica como criar um resultset, que é o que vc vai precisar pra fazer o select no banco. [url]http://www.devdaily.com/java/edu/pj/jdbc/jdbc0003[/url] Qualquer dúvida é só dizer :) Obs.: Se tiver problemas com a leitura em inglês, o Google Chrome oferece um programa de tradução da página para o português :)
Responder

Gostei + 0

22/08/2012

Davi Costa

Caso o site que passei o link saia do ar, vou postar os códigos aqui pra ficar mais simples e rápido de ver. Como criar o seu ResultSet
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("SELECT Lname FROM Customers WHERE Snum = 2001");
Como Ler o resultado da sua consulta:
while (rs.next()) {
String lastName = rs.getString("Lname");
System.out.println(lastName + "\n");
}
Código todo do exemplo do site:
//  Query1.java:  Query an mSQL database using JDBC. 

import java.sql.*;
/**
 * A JDBC SELECT (JDBC query) example program.
 */
class Query1 {
 
    public static void main (String[] args) {
        try {
            String url = "jdbc:msql://200.210.220.1:1114/Demo";
            Connection conn = DriverManager.getConnection(url,"","");
            Statement stmt = conn.createStatement();
            ResultSet rs;
 
            rs = stmt.executeQuery("SELECT Lname FROM Customers WHERE Snum = 2001");
            while ( rs.next() ) {
                String lastName = rs.getString("Lname");
                System.out.println(lastName);
            }
            conn.close();
        } catch (Exception e) {
            System.err.println("Got an exception! ");
            System.err.println(e.getMessage());
        }
    }
}
Responder

Gostei + 0

04/10/2012

Matheus

Olá Amigos do fórum.. Possuo o mesma dúvida, porém achei uma solução mais plausível para tal coisa..
DatabaseMetaData meta = con.getMetaData();
Vide Link [url]http://boa-ventura.net/2011/02/04/listar-tabelas-do-banco-de-dados/[/url] Ressalto que estou realizando modificações no sistema para efetuar o teste. Postarei os resultados em breve
Responder

Gostei + 0

04/10/2012

Fernando Rocha

Opa, que legal! Obrigado por compartilhar com a galera!
Responder

Gostei + 0

04/10/2012

Matheus

Gostaria só de avisar que o comando citado funcionou perfeitamente.. Mais tarde postarei a minha implementação, e gostaria que postassem as implementações de vocês também, assim podemos melhorar o código.. Só ainda não consegui descobrir uma forma de mostrar as bases de dados, sendo que ainda nem tentei efetuar a conexão com o banco se especificar a base de dados.. A noite irei tentar outras coisas e postarei o resultado aqui. Já de antemão agradeço aos colegas por terem aberto o tópico que com certeza irá ajudar muita gente..
Responder

Gostei + 0

05/10/2012

Ricardo Staroski

No artigo abaixo eu uso reflection e o MetaData do ResultSet pra apresentar todos os campos de uma tabela. [url]http://javafree.uol.com.br/artigo/871840/Apresentar-Resultado-de-Consulta-SQL-em-JTable.html[/url] Daria pra complementar o exemplo listando todas as tabelas. =)
Responder

Gostei + 0

05/10/2012

Fernando Rocha

Posta sim que vai ajudar bastante gente :)
Responder

Gostei + 0

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

Aceitar