Pretendo criar uma aplicação SIMPLES baseada numa tabela, com o dia, empresa, local do serviço e horas de serviço prestado. Essa tabela seria preenchida a partir de um formulário.
Tenho essa aplicação em access, mas isso obriga-me a manter o windows instalado o que não pretendo, pois migrei para linux. Dei uma vista de olhos sobre o assunto e tudo me parece complexo. Instalei o NetBeans 6.8 tenho a opção database, mas não encontro a opção criar tabelas. Apesar de nada saber de java, não sou totalmente leigo há uns tempos já me debrucei sobre java mas noutros temas, onde aprendi a criar formulários e outras coisas simples, mas criar uma tabela, não estou a ver. Será que me podem ajudar? Obrigado.
Criar Tabela
24 Respostas
Oi,
Você quer utilizar a JTable ?
Procure entender o javadoc.
http://java.sun.com/javase/6/docs/api/javax/swing/JTable.html
Trabalhe com JTable de uma forma inteligente com o ObjectTableModel e com o Auto-Filtro do Mark_Ameba e ViniGodoy.
http://markytechs.wordpress.com/2009/05/29/objecttablemodel/
http://www.guj.com.br/posts/list/100793.java
Tchauzin!
Qual SGBD você pretende usar?
Pois,… não sei o que é SGBD!
Para já vou-me debruçar sobre as dicas da lina, mas todas as dicas são bem vindas. Obrigado.
Com toda educação mas, ja deveria saber isso faz tempo heim!
SGBD é o sitema que vai gerenciar o seu banco de dados.
A tabela que você se está se referindo é uma tabela em uma janela ou uma tabela onde armazenara as informações?
Sem ressentimentos!
Tabela armazenará as informações!
Tal como disse tenho a aplicação em access, de forma que na minha cabeça está idealizada igual, ou seja, um formulário que insere os registos na tabela, um subformulário (grid) ligado a uma query, que me mostra os serviços efectuados durante esse mês.
Um SGBD é um Sistema Gerenciador de Banco de Dados, vamos levar em consideração que o access que vc diz usar é um SGBD, ele faz o gerenciamento de seus dados, mais como está pretendendo montar essa aplicação vc vai ter que ligar seus dados em um SGBD de verdade, através de uma classe de conexão, e tb usar um drive de conexão, como migrou para linux aconcelho vc a usar o Postgre ou o Mysql, são dois ótimos bancos. Agora em relação a aplicação pode consultar o Javadoc do Jtable.
T+
É isso mesmo o que o viniciusgundim falhou. Mysql ou Postgresql.
Bom dia colegas !
Codeas
Olha… a sua resposta me deixou um pouco, digamos, assustado…
Você disse que tem esse sistema em Access, bom, se me lembro bem, lá vc começa criando suas tabelas e depois cria os formulários, e tudo “roda” dentro do próprio Access.
Bom, nesse mundo novo que você esta se aventurando, a coisa é um pouco diferente, pra não dizer totalmente diferente.
Se o seu problema é saber como criar um tipo de tabela na sua tela, como um daqueles Grids, com linhas e colunas, siga os link´s da lina.
Agora se o problema é realmente você não saber o que é o banco de dados… melhor se preparar para muita pesquisa e leitura.
Nesse caso sugiro começar com algum livro sobre Java para Iniciantes, apesar de ja ter lido várias criticas e algumas piadas, o meu primeiro livro de Java foi da série aprenda em 21 dias, e sinceramente, para quem não sabe nem o que é JVM, acho que ajuda muito, ou então as apostilas da Caelum.
Bom sobre a sua dúvida:
1 - Você não cria a tabela no NetBeans, se você esta tentando fazer analogia entre o NetBeans e o Access, meu conselho é: esqueça essa idéia.
Na verdade, embora não seja usuário fiel do NB, acho que tem um plugin la que vc consegue acessar bases de dados como do MySql e criar tabelas, mas isso seria só uma interface, a tabela propriamente dita não esta DENTRO do NB.
2 - Claro que se você fizer um tela com esses campos que falou e gravar numa única tabela as informações DIA, EMPRESA, LOCAL DE TRABALHO E QTDE DE HORAS vai funcionar, mas se esta começando agora é bom refletir sobre isso: nem tudo que funciona é correto.
Por exemplo, vc disse que vai ter uma coluna chamada EMPRESA, pra mim isso significa que a cada registro realizado nessa tabela o usuario vai ter que digitar, por exemplo:
EMPRESA DE CARNE DE SOL NOSSO SENHOR DO ALTISSIMO CORAÇÃO DE JESUS DOS AFLITOS, DESESPERADOS, DESEMPREGADOS, DESGRACADOS E TODOS OS DEMAIS DES DO MUNDO
Imagina a felicidade de quem for usar seu sistema ?
Imagina o espaco que esta sendo desperdicado por ter que repetir todo do nome da empresa em cada linha da sua tabela ?
E pior… imagina que o cara que usar o sistema, em uma hora de digitação vai estar de saco cheio e vai comecar a abreviar para EMPREPSA DE CARNE DE SOL NOSSO SENHOR DO ALTISSIMO CORAÇÃO DE JESUS, depois vai passar para EMP. DE CARNE DE SOL NOSSO SENHOR JESUS, mais meia hora e vai virar EMP. CARNE DE SOL NOSSO SENHOR e por fim será EMP. DE JABÁ.
Ou seja… nunca mais vc vai conseguir selecionar todos os apontamentos sem ter um trabalhão danado…
Sei que talvez você esperasse uma resposta mais direta do tipo “Clica em Conectar >> Database >> Criar tabela”, mas nesse caso acho que tem um caminho antes pra trilhar.
Bom espero ter ajudado.
Qualquer dúvida, estamos aí.
[]s
quando vc precisar
você ainda pode usar o Access como base de dados.
a api do Java fornece um driver para acessar uma fonte de dados ODBC. basta configurar uma fonte de dados para o seu arquivo do Access e depois acessa-la via JDBC.
o driver é sun.jdbc.odbc.JdbcOdbcDriver e a url é “jdbc:odbc:nomeDaFonteDeDados”.
wbdsjunior, dá para usar Acess no linux? O nosso amigo Codeas usa linux.
Cara sobre o assunto do linux e o access, usa o openoffice!!! instala ele no linux e roda o .base ele irá rodar o teu sistema que vc fez em access… Mais concerteza para aprendizado e segurança faz um projetinho em Java com o banco Postgresql.
Parece não ser bem assim, pelo que li e já tentei, não abre os formulários.
Instala o Wine no linux
http://www.guiadohardware.net/tutoriais/dicas-wine/pagina2.html
e tenta instalar somente o access…
Já usei algumas aplicações com o Wine como o Photoshop, tenta instalar talves vc consiga rodar o access no linux…
Abraço.
como o Codeas disse, não dá para abrir os formulários.
mas é possível usar o arquivo como base de dados e acessá-lo via jdbc/odbc.
Valeu wbdsjunior. Obrigado por tirar minha dúvida. Essa eu realmente não sabia.
É preferível usar um SGBD de verdade, uma vez que o Access não é um.
Para exportar os dados do arquivo .mdb para um arquivo .sql, procure sobre mdbtools. Uma vez que esse arquivo .sql esteja disponível, importe-o para um SGBD de verdade (como MySQL, PostgreSQL…) ou para um SQLite mesmo.
alguns o consideram um SGBD. veja aqui.
como o Codeas disse que o sistema é pequeno, recomendaria o JavaDB, que já vem com o JDK 6.
O Base do OpenOffice não resolveria nesse caso? http://pt.openoffice.org/about/base.htm
Outra, se é uma aplicação desktop pequena, não seria melhor uma base de dados baseada em arquivo como o SQLite ou db4o?
alguns o consideram um SGBD. veja aqui.
como o Codeas disse que o sistema é pequeno, recomendaria o JavaDB, que já vem com o JDK 6.
Se for confiar no que a Wikipedia diz, pode haver contradição. Veja que na página sobre SGBD está escrito Access na seção de exemplos:
A questão é: alguns o consideram com base no que? Percebe que há um enorme vão entre um MySQL, por exemplo, e o Access?
Sem contar que fazer seu sistema depender de uma tecnologia proprietária e totalmente imprevisível (pode ser que amanhã a MS descontinue o Access, por exemplo) não é uma boa ideia. De qualquer forma, a escolha não é minha…
concordo.
Veja que na página sobre SGBD está escrito Access na seção de exemplos:
Microsoft Access (Alguns o consideram SGBD mas é um SRABD)
a própria Wikipedia não explica o que é um SRABD.
não sei. o que caracteriza um SGBD? quals são as principais funcionalidades?
concordo novamente.
aqui eu discordo. se for assim, não é uma boa idéia criar softwares em .net.
p.s.: apenas quis mostrar um ponto de vista (não o meu. não tenho opnião formada) diferente.
aqui eu discordo. se for assim, não é uma boa idéia criar softwares em .net.
Eu acho que de fato não é.
Mas opiniões pessoais a parte, a ideia é diferente: de uma linguagem de programação para um formato de arquivo. Inclusive, no caso de .NET existem projetos open source para atender a especificação e permitir que você programe em ambientes não-Windows (como o Mono Project).
De qualquer forma, é difícil perceber onde o Access serviria como melhor fonte de dados em um sistema Java de verdade - pode ser que um arquivo que possa ser editado seja mais apropriado em determinadas situações, mas existem outras alternativas não-proprietárias como o OpenDocument Format.
aqui eu discordo. se for assim, não é uma boa idéia criar softwares em .net.
Mas opiniões pessoais a parte, a ideia é diferente: de uma linguagem de programação para um formato de arquivo. Inclusive, no caso de .NET existem projetos open source para atender a especificação e permitir que você programe em ambientes não-Windows (como o Mono Project).
você tem razão. acho que não dá para comparar Access com .NET.
quis mostrar que é possível utilzar o Access com Java, mas acho que não fiz algo importante que você fez - indicar/mostrar um melhor caminho.
como disse, não tenho opinião formada e quis apenas mostrar outro ponto de vista. particularmente, não uso o Access. para estudos, testes e pequenos projetos pessoais prefiro utilizar outros bancos de dados (Derby, HSQLDB, SQLite, etc).
Sei q o post é antigo e tudo mais, mas, para qualquer um que esteja pensando em usar MS Access, eu diria: tire isso da cabeça meu amigo, access, por experiência, é uma bosta.
De boa, melhor testar qualquer outro BD por aí. No pior dos casos, vai ser igual o Access.
Uma das coisas q mais irritam no access é q ele corrompe muito fácil. Tem q ficar dando fix para conseguir
usá-lo novamente. Fora que é muito lerdo…
Bem, estão avisados! Abraços!!
(obs.: é um ponto de vista e relato, não quero iniciar debates, apesar de que, duvido muito que alguém vá defender o pobre access, hauaha)