Programa simples

Caros colegas,

Continuo aguardando mais alguma ajuda de voces pode ser bem simples mesmo!! Revejam minhas duvidas postadas aqui anteriormente:
Caro Dougufpa,

Consegui rodar o programa. Descobri o erro; era mesmo o case sensitive do Java!!.. Foi bom ter acontecido! Já mexi bastante com a tela de cadastrar cliente. Estou entusiamado e gostaria de mais 2 ajudinhas de momento:

1 - Criar 2 botões para navegação entre os registros: proximo e anterior…

2 - Criei um banco de dados no acces e gostaria de já implementar isso. como é que eu faço isso? ou seja receber os dados desta tela de cadastro de cliente e gravar no banco de dados? meu banco é: Cliente.mdb e tem apenas os campos referenciados na classe cadastrar clientes…

Conto mais uma vez com sua ajuda e/ou dos demais colegas também… A coisa tá indo…

Obrigado a todos,

Edson

Caros colegas,

Desculpem a minha instência!! É que estou querendo muito mesmo a aprender fazer um programa em JAVA. As outras linguagens são ricas de informação, apostilas e materiasi e cursos. Java, ninguem consegue explicar como é que funciona!!, ou seja, como é que se faz um programa simples com uma interface grafica com um menuzinho, uma tela para cadastro ustilisando um banco de dados simples, só mesmo para a gente ver como é que funciona e daí então usar a criatividade e outros conhecimentos para se desenvolver… Já tive ótima colaboração de nosso amigo dougufpa, aquem eu agradeço muito, e outros colegas também. Já sei fazer uma tela incluindo labels e caixas de texto. mas não sei como interar isso com um banco de dados e gravar e movimentar entre registros!!

Por gentileza, se alguem tiver alguma dica de como conseguir algo mesmo com custo, me ajude, estou disposto a investir e a aprender. Com relação ao forum, sei que é ppara d´úvidas, mas para quem é iniciante, é necessário as vezes, um pouquinho mais!!

Conto com voces!! Será que todo desenvolvedor java teve que passar por esta briga toda para aprender?

Caras!! Poxa!! desbafei…

Um abraço,

Edson

Olá Colegas,

Mais nenhuma ajuda?!!

Conto com voces!!

Obrigado,

Edson

caro colega Amamorim,
Desculpe pela demora, tive ocupado nesses dias, primeiramente vamos por partes, hoje vou lhe fornecer a conexão com o banco de dados access, também muito simples, siga o link abaixo que possui um exemplo muito bem explicado, que foi retirado aqui do fórum através de busca.

Obs: A busca do forum é uma arma poderosa, aprenda utilizá-la.

link: http://www.portaljava.com/home/modules.php?name=Content&pa=showpage&pid=5&page=2

Prezado Dougufpa,

Poxa!! Voce viu aí o desepero deste colega!! Mas agora estou calmo!! Já aprendi mais uma coisa: “Procurar no Fórum”. Como voce vê; muitas vezes a gente precisa até mesmo aprender isso também!. Já fiz algumas pesquisas aqui e já tive resultados. Vou explorar mais…

Quanto ao conteúdo da matéria do link que voce passou, já peguei e estou estudando-o.

Como voce disse, vamos por partes!!

Me diga se estou entendo bem:

1 - Eu crio uma tela para cadastro de “Nome” e “Id” chamada “Cadastro”.
2 - crio o programinha que está lá no link: Acessando uma base acces, com aquele nome que está lá no manual, por exempl>
3 - voltarei ao programa “Cadastro” para fazer algum relacionamento da tela com o banco, é isso?

Ou voce me dará novas dicas como voce disse acima, não abusando de sua boa vontade em ajudar!..

Parece que já estou caminhando!!

Atenciosamente,

Edson
edson.amorim@oi.com.br

Voce viu o link do tutorial de banco de dados? Qual e a sua duvida?

Caro Amamorim

ok, acho que entendi.

Vamos lá, vou te falar todos os passos:

1 - Você vai criar a interface com todos os campos do formulario;
2 - Você vai criar um banco de dados com todos os elementos do formularios para poder salvá-los;
3 - Criarás os eventos (relacionar o banco com a interface), como nos exemplos do link que enviei a você e introduzirá os eventos ao botão “salvar” do seu formulario, ou seja, os campos do JTextField que estarão preenchidos deveram ser salvos nas tabelas do seu banco de dados no access. Exemplo: o campo nome da interface vai ser armazenado na tupla nome do banco, e assim pra todos os campos…

espero que tenha entendi o que tem que fazer… caso contrário, pode perguntar!!

Prezado Dougufpa,

Ótimo. Já fiz o formulário ==> FormBanco.java
Criei o banco Access ==> Meubanco.mdb
Criei o programa de ligação com o banco ==>JdbcAccess.java

No formulario eu inclui mais 2 botoes: Próximo e Anterior. Os campos do meu banco de dados são os mesmos do exemplo da conexão com o banco. Agora, me falta fazer os eventos patra gravar estes 2 campos do formulário lá na tabela “Relacao” do meu banco de dados e criar o código para movimentar entre os registros: próximo e anterior.

Já compilei e deu tudo certinho. Como é que vou fazer estas coisas?

Atenicosamente,

Edson

E´o seguinte:

Voce faz a consulta:

ResultSet rs = st.executeQuery (“select * from …”);

dai voce pode pegar o numero da linha que voce tá trabalhando com o metodo getRow()
int linha = rs.getRow()

se voce quiser ir para a proxima, voce faz o seguinte:

linha +=1;
rs.absolute(linha);

isso possiciona o cursor na proxima linha. Entao voce pega os dados

String nome = rs.getString(“nome”)

Se voce quiser ir para o registro anterior faça:

linha -= 1;

rs.absolute(linha);

e pega os dados do mesmo jeito.

De uma olhada nesse link.
http://www.guj.com.br/java.tutorial.artigo.120.1.guj

falow

Prezado RodolfoCoutinho e Dougufpa,

Consegui entender suas explicações e as orientações do Dougufpa. Fiz conforme sugerido e consegui então deixar o meu formulario bem arrumadinho, porém, ainda não sei colocar as ações para os botões salvar e próximo e anterior. Tô apanhando, mas ainda não consegui fazer isso.

Consegui incluir a tabela lá no meu banco de dados através do link informado pelo Dougufpa. Inclusive fiz exatamente como o exemplo e deu certo. eu executei o programa JdbcAccess. E agora? Parece simples mas tá me dando um coro que voces nem imaginam. Eu tenho como mandar o que fiz para voces verem?

grato,

Edson

manda ai o condigo…

Amigo, a grosso modo você poderia fazer assim:
//Declara a variável linha

public class Janela extends JFrame {
public static int linha;

 ...

  btnProximo.addActionListener (new ActionListener () {
   public void actionPerfor ...
         linha+=1;
          ResultSet rs = st.execute("select * from cadastro ...");/
          rs.absolute(linha);
          txtNome.setText(rs.getNome());
         ...
|); 

   btnAnterior ... {
        public void action....
              linha-+1;
  ResultSet rs = st.execute("select * from cadastro ...");/
          rs.absolute(linha);
          txtNome.setText(rs.getNome());
         ...
   |
|

falow[/code]

Oi meus amigos Dougufpa e Rodolfocoutinho e demais c9olegas do fórum

Poxa gente, é mais fácil passar num vestibular para medicina sem estudar ou Cien]cia da Computacão doi que ver um programinha simples em java funcionando!! Em qualquer outra linguagem isso é tão simples!! A gente ver exemplos aos montes e a gente aprende de verdade, assim como aprendi access, VB, delphi E outras. Mas tudo bem!! Agradeço muito pela ajuda destes grandes colegas mas eu realmente precisava ver um programinha simples com acesso a um banco de dados, incluir um registro, excluir e alterar… Mas em java a gente não tem estas informações… É uma pena, parece que muitas pessoas não querem que outras aprendam…
Tenho muita vontade de aprender, já sei fazer um formulário, já sei criar uma conexão com o banco de dados acces através da criação do DSN e do exemplo postado aqui no fórum. Até tudo beleza, tudo direitinho… mas não consigo sair disso.
Aplaudo a voces grandes guerreiros que conseguiram aprender…

Um grande abraço e meu muito obrigado mesmo pelo que conseguiram me ajudar… sei que realmente é muito mas muito dificil mesmo…

Fazer o que, não é mesmo?

Edson Amorim
edson.amorim@oi.com.br

Caríssimos colegas,

Apesar de meu desbafo acima, eu ainda não desisti, afinal, nós temos que ser persistentes!! Sei disso, portanto estou quebrando a cabeça e por enquanto, mexendo com os formularios, já consegui entender a conexão com o banco de dados, funcionou legal agora, estou tentando os próximos passos. estou querendo fazer um frame com um menu que chame a classe “funcionario” e que tenha a “opção” sair para sair do aplicativo. qualquer ajuda sobre isso também será bem vinda. Acho que consigo fazer o menu, porem não sei atribuir as ações de: chamar o utro formulário e de sair do aplicativo.
Atenciosamente,

Edson

Prezado Dougufpa,

Com relação ao código abaixo postado por voce, gostaria de saber o seguinte:

1-) Aprendi a trabalhar com as classes; crio compilo separadamente cada classe e executo o programa através da cslasse “Main”. Como é que eu trabalho com as Packages? Eu tenho que compilar classe por classe? Lhe agradeço mais uma vez por mais esta ajuda!!

package br.ufpa.bd2.dao; 

import java.sql.Connection; 
import java.sql.ResultSet; 
import java.sql.SQLException; 
import java.sql.Statement; 
import java.util.ArrayList; 

import br.ufpa.bd2.negocio.Associado; 
import br.ufpa.bd2.util.Consts; 

public class AssociadoDAO extends AbstractGenericDAO { 
   /** 
    * 
    */ 
   static { 
      try { 
         Class.forName(Consts.CLASSNAME); 
      } catch (ClassNotFoundException e) { 
         e.printStackTrace(); 
      } 
   } 
    
   /** 
    * 
    * @param associado 
    */ 
   public static void inserir (Associado associado) { 
       
      Connection con = null; 
      Statement st = null; 
      try { 
         con = getConnection(); 
         st = con.createStatement(); 
         String [] fone = associado.getFone(); 

         String query = "insert into associados (adesao, codfranqfunc, datacadastro, situacao, modalidade, " + 
                     "cliente, tipo, sexo, estadocivil, endereco, bairro, cidade,  cep, " + 
                     "profissao, cpfcgc, rg, datanascimento, email, fone1, fone2, fone3, fone4, obs) values ('" + 
                     associado.getAdesao() +  "','" + associado.getCodfranqfunc() +"','" + associado.getDataCadastro() + 
                     "','" + associado.getSituacao() + "','" + associado.getModalidade() + "','" + associado.getCliente() + 
                     "','" + associado.getTipo() + "','" + associado.getSexo() + "','" + associado.getEstadoCivil() + "','" + 
                     associado.getEndereco() + "','" + associado.getBairro() + "','" + associado.getCidade() + 
                     "','" + associado.getCep() + "','" + associado.getProfissao() + "','" + associado.getCpf() + "','" + associado.getRg() + 
                     "','" + associado.getDataNascimento() + "','" + associado.getEmail() + "','" + fone[0] + "','" + " " + "','" + " " + 
                     "','" + " " + "','" + associado.getObs() + "')"; 
         System.out.println(query); 
          
         st.execute(query); 
                   
      } catch (SQLException e) { 
         e.printStackTrace(); 
      }finally { 
         try { 
            st.close(); 
            con.close(); 
         } catch (SQLException e) {} 
      } 
       
   } 
    

   /** 
    * 
    * @param associado 
    */ 
   public static void atualizar (Associado associado) { 
      Connection con = null; 
      Statement st = null; 
       
      try{ 
         con = getConnection(); 
         st = con.createStatement(); 
          
         String [] fone = associado.getFone(); 
          
         String query = "update associado set situacao='" + associado.getSituacao() + "', modalidade='" + associado.getModalidade() + "', " + 
                     "cliente='" + associado.getCliente() + "', tipo='" + associado.getTipo() + "', sexo='" + associado.getSexo() + 
                     "', estadocivil='" + associado.getEstadoCivil() + "', endereco='" + associado.getEndereco() + 
                     "', bairro='" + associado.getBairro() + "', cidade='" + associado.getCidade() + "', uf='" + associado.getUf() + 
                     "', cep='" + associado.getCep() + "', profissao='" + associado.getProfissao() + "', cpf='" + associado.getCpf() + 
                     "', rg='" + associado.getRg() + "', datanasc='" + associado.getDataNascimento() + "', email='" + associado.getEmail() + 
                     "', fone1='" + fone[0] + "', fone2='" + fone[1] + "', fone3='" + fone[2] + "', fone4='" + fone[3]+ "', obs='" + associado.getObs() + "' where adesao='" + associado.getAdesao() + "'"; 
          
         st.executeUpdate(query); 
          
      }catch (SQLException e) { 
         e.printStackTrace(); 
      }finally { 
         try { 
            st.close(); 
            con.close(); 
         }catch (SQLException e) {} 
      } 
   } 
    
   /** 
    * 
    * @param associado 
    */ 
   public static Associado [] pesquisar (String campo, String valor) { 
      Connection con = null; 
      Statement st = null; 
      Associado [] associados = null; 
       
      try { 
         con = getConnection(); 
         st = con.createStatement(); 
          
         String query = "select * from associados where " + campo + "='" + valor + "'"; 
          
         ResultSet rs = st.executeQuery(query); 
    
         if (rs.next()) { 
             
            ArrayList <Associado> temp = new ArrayList <Associado> (); 
            do { 
               Associado aux = new Associado (); 
               aux.setAdesao(rs.getInt("adesao")); 
               aux.setCodfranqfunc(rs.getInt("codfranqfunc")); 
               aux.setDataCadastro(rs.getString("datacadastro")); 
               aux.setSituacao(rs.getString("situacao")); 
               aux.setModalidade(rs.getString("modalidade")); 
               aux.setCliente(rs.getString("cliente")); 
               aux.setTipo(rs.getString("tipo")); 
               aux.setSexo(rs.getString("sexo")); 
               aux.setEstadoCivil(rs.getString("estadocivil")); 
               aux.setEndereco(rs.getString("endereco")); 
               aux.setBairro(rs.getString("bairro")); 
               aux.setCidade(rs.getString("cidade")); 
               aux.setUf(rs.getString("uf")); 
               aux.setCep(rs.getString("cep")); 
               aux.setProfissao(rs.getString("profissao")); 
               aux.setCpf(rs.getString("cpfcgc")); 
               aux.setRg(rs.getString("rg")); 
               aux.setDataNascimento(rs.getString("datanascimento")); 
               aux.setEmail(rs.getString("email")); 
                
               String [] fone = new String[4]; 
               fone[0] = rs.getString("fone1"); 
               fone[1] = rs.getString("fone2"); 
               fone[2] = rs.getString("fone3"); 
               fone[3] = rs.getString("fone4"); 
                
               aux.setFone(fone); 
               aux.setObs(rs.getString("obs")); 
                
               temp.add(aux); 
                
            }while (rs.next()); 
             
            associados = new Associado[temp.size()]; 
            for (int i = 0; i < temp.size(); i++) { 
               associados[i] = temp.get(i); 
            } 
         } 
      }catch (SQLException e) { 
         e.printStackTrace(); 
      } 
       
       
      return associados; 
       
   } 
    
   public static Associado [] pesquisar (String str) { 
      Connection con = null; 
      Statement st = null; 
      Associado [] associados = null; 
       
      try { 
         con = getConnection(); 
         st = con.createStatement(); 
          
         String query = "select * from associados where cliente like '" + str + "%'"; 
          
         ResultSet rs = st.executeQuery(query); 
    
         if (rs.next()) { 
             
            ArrayList <Associado> temp = new ArrayList <Associado> (); 
            do { 
               Associado aux = new Associado (); 
               aux.setAdesao(rs.getInt("adesao")); 
               aux.setCliente(rs.getString("cliente")); 
                
               temp.add(aux); 
                
            }while (rs.next()); 
             
            associados = new Associado[temp.size()]; 
            for (int i = 0; i < temp.size(); i++) { 
               associados[i] = temp.get(i); 
            } 
         } 
      }catch (SQLException e) { 
         e.printStackTrace(); 
      } 
       
       
      return associados; 
       
   } 

    
   public static Associado [] pesquisar () { 
      Connection con = null; 
      Statement st = null; 
      Associado [] associados = null; 
       
      try { 
         con = getConnection(); 
         st = con.createStatement(); 
          
         String query = "select * from associados order by cliente"; 
          
         ResultSet rs = st.executeQuery(query); 
    
         if (rs.next()) { 
             
            ArrayList <Associado> temp = new ArrayList <Associado> (); 
            do { 
               Associado aux = new Associado (); 
               aux.setAdesao(rs.getInt("adesao")); 
               aux.setCodfranqfunc(rs.getInt("codfranqfunc")); 
               aux.setDataCadastro(rs.getString("datacadastro")); 
               aux.setSituacao(rs.getString("situacao")); 
               aux.setModalidade(rs.getString("modalidade")); 
               aux.setCliente(rs.getString("cliente")); 
               aux.setTipo(rs.getString("tipo")); 
               aux.setSexo(rs.getString("sexo")); 
               aux.setEstadoCivil(rs.getString("estadocivil")); 
               aux.setEndereco(rs.getString("endereco")); 
               aux.setBairro(rs.getString("bairro")); 
               aux.setCidade(rs.getString("cidade")); 
               aux.setUf(rs.getString("uf")); 
               aux.setCep(rs.getString("cep")); 
               aux.setProfissao(rs.getString("profissao")); 
               aux.setCpf(rs.getString("cpfcgc")); 
               aux.setRg(rs.getString("rg")); 
               aux.setDataNascimento(rs.getString("datanascimento")); 
               aux.setEmail(rs.getString("email")); 
                
               String [] fone = new String[4]; 
               fone[0] = rs.getString("fone1"); 
               fone[1] = rs.getString("fone2"); 
               fone[2] = rs.getString("fone3"); 
               fone[3] = rs.getString("fone4"); 
                
               aux.setFone(fone); 
               aux.setObs(rs.getString("obs")); 
                
               temp.add(aux); 
                
            }while (rs.next()); 
             
            associados = new Associado[temp.size()]; 
            for (int i = 0; i < temp.size(); i++) { 
               associados[i] = temp.get(i); 
            } 
         } 
      }catch (SQLException e) { 
         e.printStackTrace(); 
      } 
       
       
      return associados; 
       
   } 
    
   /** 
    * 
    * @param associado 
    */ 
   public static void excluir (String associado){ 
      Connection con = null; 
      Statement st =null; 
       
      try { 
         con = getConnection(); 
         st = con.createStatement(); 
          
         DependentesAssociadosDAO.excluir("adesao", associado);          
             
         String query = "delete from associados where adesao='" + associado + "'"; 
         st.execute(query); 
          
      }catch (SQLException e) { 
         e.printStackTrace(); 
      }finally { 
         try { 
            st.close(); 
            con.close(); 
         }catch(SQLException e) {} 
      } 
             
   } 

}