Validar: CPF / CNPJ e consultar CEP

Java

09/04/2009

Boa tarde amigos, venho aqui solicitar uma grande ajuda de vcs amigos, estou desenvolvendo um sistema de controle patrimonial para empresa onde trabalho, mas um dos diretos esta exigindo que o sistema valide CPF / CNPJ e que consulte automaticamente o CEP, alguem tem alguma dica pra me ajudar?? Obrigado
Luis Antonio

Luis Antonio

Curtidas 0

Respostas

Sergio Pantano

Sergio Pantano

09/04/2009

Aqui tem uma biblioteca muito útil: https://brazilutils.dev.java.net/ Além desses que você precisa tem outros documentos.
GOSTEI 0
Luis Antonio

Luis Antonio

09/04/2009

Humm, Obrigado Serp, realmente esta biblioteca aparenta ser muito boa... Só tem um probleminha, vim aqui de ousado q sou na area de Java Avançado, mas ainda sou iniciante, e vou precisar de mais uma ajudinha... Como faço para utilizar esta biblioteca??? Se podessem demonstrar um codigo simples mesmo de exemplo seria muito util pessoal... Obrigado
GOSTEI 0
Luis Antonio

Luis Antonio

09/04/2009

Luiz, abaixo a função que valida cpf e reotrma um boolean. Quanto ao validação de CNPJ recomendo: http://www.imasters.com.br/artigo/2451
	/**
	 * Metodo validacaoCPF - Responsavel em validar o CPF
	 * 
	 * @return Boolean
	 * @since 29/12/2006
	 */
	public boolean validacaoCPF(String cpf) {
		      int     d1, d2;
		      int     digito1, digito2, resto;
		      int     digitoCPF;
		      String  nDigResult;

		      d1 = d2 = 0;
		      digito1 = digito2 = resto = 0;

		      for (int nCount = 1; nCount < cpf.length() -1; nCount++)
		      {
		         digitoCPF = Integer.valueOf (cpf.substring(nCount -1, nCount)).intValue();

		         //multiplique a ultima casa por 2 a seguinte por 3 a seguinte por 4 e assim por diante.
		         d1 = d1 + ( 11 - nCount ) * digitoCPF;

		         //para o segundo digito repita o procedimento incluindo o primeiro digito calculado no passo anterior.
		         d2 = d2 + ( 12 - nCount ) * digitoCPF;
		      };

		      //Primeiro resto da divisão por 11.
		      resto = (d1 % 11);

		      //Se o resultado for 0 ou 1 o digito é 0 caso contrário o digito é 11 menos o resultado anterior.
		      if (resto < 2)
		         digito1 = 0;
		      else
		         digito1 = 11 - resto;

		      d2 += 2 * digito1;

		      //Segundo resto da divisão por 11.
		      resto = (d2 % 11);

		      //Se o resultado for 0 ou 1 o digito é 0 caso contrário o digito é 11 menos o resultado anterior.
		      if (resto < 2)
		         digito2 = 0;
		      else
		         digito2 = 11 - resto;

		      //Digito verificador do CPF que está sendo validado.
		      String nDigVerific = cpf.substring (cpf.length()-2, cpf.length());

		      //Concatenando o primeiro resto com o segundo.
		      nDigResult = String.valueOf(digito1) + String.valueOf(digito2);

		      //comparar o digito verificador do cpf com o primeiro resto + o segundo resto.
		      return nDigVerific.equals(nDigResult);
		   }
GOSTEI 0
Jeferson Mayer

Jeferson Mayer

09/04/2009

[quote="testaal"]mas um dos diretos esta exigindo que o sistema valide CPF / CNPJ
Bem, a primeira pergunta é: "o que significa validar um CPF/CNPJ"? Se for [b]apenas[/b] calcular e checar os dígitos de verificação, é só procurar no Google o algoritmo e implementar. [b]Porém[/b], se "validar o CPF/CNPJ" significa "verificar se o CPF/CNPJ realmente existe", por exemplo, aí o buraco é muito mais embaixo. A simples verificação do dígito é utilizada apenas para evitar erros de digitação, e não garante que o CPF/CNPJ seja realmente válido. Como em tese somente a Receita Federal possui esses dados, isso provavelmente não dá para fazer.
e que consulte automaticamente o CEP, alguem tem alguma dica pra me ajudar??
Consulte o CEP onde? Os Correios [b]vendem[/b] licenças para o DNE (Diretório Nacional de Endereços), seria isso?
GOSTEI 0
Luis Antonio

Luis Antonio

09/04/2009

hahaha então vamos deixar a consulta ao CEP de lado... Quanto ao CPF e CNPJ só validação numérica mesmo... Com isso já estaria bom d+... Obrigado...
GOSTEI 0
Thomas Rafael

Thomas Rafael

09/04/2009

caras estou precisando também fazer isso.. valeu pelas dicas, mas como eu validaria o CPF mesmo ?? saber se o cara é devedor, ou se ele paga, essas coisas...é possivel ? estou montando um site de E-Commerce e isso seria fundamental.
GOSTEI 0
Edson Amorim

Edson Amorim

09/04/2009

Prezado Ari e colegas, E então, como é que eu implemento esta rotina da validação do cpf, para que após a digitação do mesmo, eu saber se foi digitado correto ou ter que voltar a digitar novamente ou ainda corrigir parte do que foi digitado? estou usando um campo textField de nome tCPF. Como ficaria o meu código para receber os dados com esta validação? Grato, Edson
GOSTEI 0
Edson Amorim

Edson Amorim

09/04/2009

Olá pessoal, Alguma idéia de como fazer isso? Grato, Edson
GOSTEI 0
Rodrigo Scorsatto

Rodrigo Scorsatto

09/04/2009

para validar cpf:

/**
 *
 * @author Rodrigo Scorsatto
 */
public class ValidaCpf {
    
    /** Creates a new instance of ValidaCpf */
    public ValidaCpf() {
    }
    public  boolean validacpf(String strCpf){ // formato XXX.XXX.XXX-XX
        if (! strCpf.substring(0,1).equals("")){
            try{
                boolean validado=true;
                int     d1, d2;
                int     digito1, digito2, resto;
                int     digitoCPF;
                String  nDigResult;
                strCpf=strCpf.replace('.',' ');
                strCpf=strCpf.replace('-',' ');
                strCpf=strCpf.replaceAll(" ","");
                d1 = d2 = 0;
                digito1 = digito2 = resto = 0;
                
                for (int nCount = 1; nCount < strCpf.length() -1; nCount++) {
                    digitoCPF = Integer.valueOf(strCpf.substring(nCount -1, nCount)).intValue();
                    
                    //multiplique a ultima casa por 2 a seguinte por 3 a seguinte por 4 e assim por diante.
                    d1 = d1 + ( 11 - nCount ) * digitoCPF;
                    
                    //para o segundo digito repita o procedimento incluindo o primeiro digito calculado no passo anterior.
                    d2 = d2 + ( 12 - nCount ) * digitoCPF;
                };
                
                //Primeiro resto da divisão por 11.
                resto = (d1 % 11);
                
                //Se o resultado for 0 ou 1 o digito é 0 caso contrário o digito é 11 menos o resultado anterior.
                if (resto < 2)
                    digito1 = 0;
                else
                    digito1 = 11 - resto;
                
                d2 += 2 * digito1;
                
                //Segundo resto da divisão por 11.
                resto = (d2 % 11);
                
                //Se o resultado for 0 ou 1 o digito é 0 caso contrário o digito é 11 menos o resultado anterior.
                if (resto < 2)
                    digito2 = 0;
                else
                    digito2 = 11 - resto;
                
                //Digito verificador do CPF que está sendo validado.
                String nDigVerific = strCpf.substring(strCpf.length()-2, strCpf.length());
                
                //Concatenando o primeiro resto com o segundo.
                nDigResult = String.valueOf(digito1) + String.valueOf(digito2);
                
                //comparar o digito verificador do cpf com o primeiro resto + o segundo resto.
                return nDigVerific.equals(nDigResult);
            }catch (Exception e){
                System.err.println("Erro !"+e);
                return false;
            }
        }else return false;
    }
}
chamada:
ValidaCpf cpf = new ValidaCpf();
                        validado=cpf.validacpf(strcpf.getText()); //validacpf
                        if(validado){
                                //faz alguma coisa
                        } else msgErroCpf();
Valida CNPJ:

/**
 *
 * @author Rodrigo Scorsatto
 */
public class ValidaCnpj {
    
    /** Creates a new instance of ValidaCnpj */
    public ValidaCnpj() {
    }
    public  boolean validaCnpj( String str_cnpj ) {
        if (! str_cnpj.substring(0,1).equals("")){
            try{
                str_cnpj=str_cnpj.replace('.',' ');
                str_cnpj=str_cnpj.replace('/',' ');
                str_cnpj=str_cnpj.replace('-',' ');
                str_cnpj=str_cnpj.replaceAll(" ","");
                int soma = 0, aux, dig;
                String cnpj_calc = str_cnpj.substring(0,12);
                
                if ( str_cnpj.length() != 14 )
                    return false;
                char[] chr_cnpj = str_cnpj.toCharArray();
                /* Primeira parte */
                for( int i = 0; i < 4; i++ )
                    if ( chr_cnpj[i]-48 >=0 && chr_cnpj[i]-48 <=9 )
                        soma += (chr_cnpj[i] - 48 ) * (6 - (i + 1)) ;
                for( int i = 0; i < 8; i++ )
                    if ( chr_cnpj[i+4]-48 >=0 && chr_cnpj[i+4]-48 <=9 )
                        soma += (chr_cnpj[i+4] - 48 ) * (10 - (i + 1)) ;
                dig = 11 - (soma % 11);
                cnpj_calc += ( dig == 10 || dig == 11 ) ?
                    "0" : Integer.toString(dig);
                /* Segunda parte */
                soma = 0;
                for ( int i = 0; i < 5; i++ )
                    if ( chr_cnpj[i]-48 >=0 && chr_cnpj[i]-48 <=9 )
                        soma += (chr_cnpj[i] - 48 ) * (7 - (i + 1)) ;
                for ( int i = 0; i < 8; i++ )
                    if ( chr_cnpj[i+5]-48 >=0 && chr_cnpj[i+5]-48 <=9 )
                        soma += (chr_cnpj[i+5] - 48 ) * (10 - (i + 1)) ;
                dig = 11 - (soma % 11);
                cnpj_calc += ( dig == 10 || dig == 11 ) ?
                    "0" : Integer.toString(dig);
                return str_cnpj.equals(cnpj_calc);
            }catch (Exception e){
                System.err.println("Erro !"+e);
                return false;
            }
        }else return false;
        
    }
}
Chamada:
  ValidaCnpj cnpj = new ValidaCnpj();
                        validado=cnpj.validaCnpj(strcnpj.getText());
                        if (validado){//validacnpj
                            // faz alguma coisa
                        else  msgerroCnpj();
GOSTEI 0
Edson Amorim

Edson Amorim

09/04/2009

Prezado Rodrigo, Lhe agradeço muito por ter postado este código. Gostaria na oportunidade, se for possível é clar, que voce me mostrasse como é que eu uso a chamada da classe ValidaCpf a partir da minha classe de inclusão dos dados. Não sei fazer isso ainda. Eu tenho na minha tela de inclusão os campos: Nome Cpf Endereço Ficarei mais uma vez muito agradecido com mais essa ajuda, Edson
GOSTEI 0
Rodrigo Scorsatto

Rodrigo Scorsatto

09/04/2009

cara recomendo você ler um bom livro de java ou mais de um, a chamada eu postei no codigo acima, na tua clase é só vc usar o que eu coloquei...
GOSTEI 0
Edson Amorim

Edson Amorim

09/04/2009

Rdrigo, Boa dica quanto a ler um bom livro, já estou fazendo isso mas leva tempo para aprender e muitas vezes a gente tem mesmo que perguntar sobre uma dúvida e outra, nem sempre a gente deve deixar tudo para resolver só mesmo com as leituras. A gente precisa de ajudas como esta que voce mesmo já postou aqui. Só que tem mais detalhes, por exemplo: eu estou na tela de inclusão e num determinado momento, chega a hora de digitar o numero do cpf aí tudo bem eu digito o cepf e como não tem critica nehuma a fazer neste campo, automaticamente após um "entra" ou "tab", eu vou para o outro campo onde eu digito o endereço e assim sucessivamente. Quero saber como é que eu faço aí neste momento quando eu acabo de digitar o cpf, como que eu completo o código do meu programa. Conto com a ajuda de voce e de outras colegas também. Antecipadamente, meus agradecimentos. Edson
GOSTEI 0
Rodrigo Scorsatto

Rodrigo Scorsatto

09/04/2009

cara o que vc pode fazer eh adicionar um evento no teu proximo campo, quando o usuário da um tab ou clicar com o mouse no proximo campo faz a validação do cpf...
GOSTEI 0
Edson Amorim

Edson Amorim

09/04/2009

Prezado Rodrigo, Acho que já estou entendendo. Ainda não deu certo mas vai aí mais uma pergunta: Assim que eu defino o campo JtextField eu já devo chamar a rotina de validação? Como? Grato, Edson
GOSTEI 0
Rodrigo Scorsatto

Rodrigo Scorsatto

09/04/2009

[quote="Amamorim"]Prezado Rodrigo, Acho que já estou entendendo. Ainda não deu certo mas vai aí mais uma pergunta: Assim que eu defino o campo JtextField eu já devo chamar a rotina de validação? Como? Grato, Edson
digamos que teu proximo campo JtextField seja o rg que chamamos de strrg, vc deve criar um evento nesse campo e dai vc faz a validação ex:
 private void strrgActionPerformed (java.awt.event.ActionEvent evt) {                                      
   aqui vc chama a rotina de validação       
}     

e no codigo abaixo vc irá adicionar o evento no campo no caso o rg...

strrg.addActionListener(new java.awt.event.ActionListener() {
                     public void actionPerformed(java.awt.event.ActionEvent evt) {
                            strrgActionPerformed(evt);
                     }
              });
GOSTEI 0
Edson Amorim

Edson Amorim

09/04/2009

Prezado Rodrigo, Tá quase!!. Peguei o seu código e inseri na minha classe. Ele esta comentado onde aparecem 3 barras mas ainda tá dando um erro!. Veja se estou no caminho certo!! Qualquer coisa se for possivel me mostrar o correto, lhe agradeço muito. Veja o meu código:
import javax.swing.*; 
import java.awt.*; 
import java.awt.event.*; 
import java.sql.*; 

public class Alterar extends JFrame { 
   JButton botao, botao2; 
    
   JLabel     l1, l2, l3, l4, l5, l6, l7, l8; 
   JTextField t1, t2, t3, t4, t5, t6, t7, t8; 
  
    String result; 
    
   int num; 
    
   public Alterar(){ 
      super ("Alteração de Registros"); 
      Container tela = getContentPane(); 
      tela.setLayout(null); 
       
      l1 = new JLabel("Código"); t1 = new JTextField(5); 
      l2 = new JLabel("Nome"); t2 = new JTextField(50); 
      l3 = new JLabel("Idade"); t3 = new JTextField(2); 
      l4 = new JLabel("CPF"); t4 = new JTextField(14); 
      l5 = new JLabel("RG"); t5 = new JTextField(12); 
      l6 = new JLabel("Data Nascimento"); t6 = new JTextField(10); 
      l7 = new JLabel("Salario"); t7 = new JTextField(15); 
      l8 = new JLabel("Deficiente"); t8 = new JTextField(5); 
       
      l1.setBounds(20, 30, 80, 20); t1.setBounds(100, 30,150, 20); 
      l2.setBounds(20, 70, 80, 20); t2.setBounds(100, 70,300, 20); 
      l3.setBounds(20,110, 80, 20); t3.setBounds(100,110, 30, 20); 
      l4.setBounds(195,110,40, 20); t4.setBounds(240,110,160, 20); 
      l5.setBounds(20,150, 80, 20); t5.setBounds(100,150, 80, 20); 
      l6.setBounds(195,150,90, 20); t6.setBounds(280,150,120, 20); 
      l7.setBounds(20,190, 80, 20); t7.setBounds(100,190, 70, 20); 
      l8.setBounds(20,230, 80, 20); t8.setBounds(100,230, 70, 20); 
       
      botao = new JButton("Consultar Registro"); botao.setBounds(20, 270, 150, 20); 
      botao2 = new JButton("Alterar Registro"); botao2.setBounds(250, 270, 150, 20); 
       
      tela.add(l1); tela.add(t1); 
      tela.add(l2); tela.add(t2); 
      tela.add(l3); tela.add(t3); 
      tela.add(l4); tela.add(t4); 
      tela.add(l5); tela.add(t5); 
      tela.add(l6); tela.add(t6); 
      tela.add(l7); tela.add(t7); 
      tela.add(l8); tela.add(t8); 
      tela.add(botao); tela.add(botao2); 

         botao.addActionListener(new ActionListener(){ 
         public void actionPerformed(ActionEvent e){ 
            try{ 
               //String url = "jdbc:odbc:Agenda"; 
               //String usuario = ""; 
               //String senha = ""; 
                
               Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); 
               //Connection con; 
               Connection con = 
               DriverManager.getConnection("jdbc:odbc:Agenda", "",""); 
               //con = DriverManager.getConnection(url,usuario,senha); 
               Statement st = con.createStatement(); 
               ResultSet rs = st.executeQuery("SELECT * FROM tabela1 WHERE Codigo ="+ t1.getText()); 
               rs.next(); 
               t2.setText(rs.getString("Nome")); 
               t3.setText(rs.getString("Idade")); 
               t4.setText(rs.getString("Cpf")); 
               t5.setText(rs.getString("strg")); 
               t6.setText(rs.getString("Dn")); 
///************************************************************** 
///**************************************************************             
/// strrg.addActionListener(new java.awt.event.ActionListener() {    
/// public void actionPerformed(java.awt.event.ActionEvent evt) {    
///        strgActionPerformed(evt);    
///  }    
///  });  
///**************************************************************             
///**************************************************************               t6.setText(rs.getString("Dn")); 
               t7.setText(rs.getString("Sal")); 
               num=Integer.parseInt(rs.getString("Def")); 
               if (num == 1) 
                  result = "Sim"; 
               { 
               if (num == 0) 
                  result = "Não"; 
            }    
               t8.setText(result); 
               st.close(); 
               } 
               catch(Exception event ){ 
                  JOptionPane.showMessageDialog(null, "Conexão não estabelecida ou \nPessoa não encontrada \n Verifique se voce digitou o código para consulta", "Mensgaem do programa ", JOptionPane.ERROR_MESSAGE); 
                  } 
               }}); 
          
/// private void strgActionPerformed (java.awt.event.ActionEvent evt) {                                          
/// // aqui vc chama a rotina de validação 
/// ValidaCpf cpf = new ValidaCpf();    
/// validado=cpf.validacpf(strcpf.getText()); //validacpf    
/// if(validado){    
/// //faz alguma coisa    
///  } else msgErroCpf();  
/// }        
                
         botao2.addActionListener(new ActionListener(){ 
         public void actionPerformed(ActionEvent e){ 
            try{ 
               if (t8.getText().equals("sim")) //||  (((t6.getText()).equals("S"))) 
               result = "Sim"; 
               //t8.Text("Sim"); 
                
               if (t8.getText().equals("S")) //||  (((t6.getText()).equals("S"))) 
               result = "Sim"; 
            //   t8.Text("Sim"); 
                
               if (t8.getText().equals("n")) //||  (((t6.getText()).equals("n"))) 
               result = "Não"; 
            //   t8.Text("Não"); 
                
               if (t8.getText().equals("N")) //||  (((t6.getText()).equals("N"))) 
               result = "Não"; 
               //t8.Text("Não"); 
                
                
               Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); 
                
               Connection con = 
               DriverManager.getConnection("jdbc:odbc:Agenda", "",""); 
                
               Statement st = con.createStatement(); 
                
               //st.executeUpdate("UPDATE.Tabela1 SET Nome ='"+t2.getText()+"', Idade = "+t3.getText()+",Dn=#"+t4.getText()+"#,Sal="+t5.getText()+",Def="+ result+" WHERE Codigo = "+t1.getText()); 
               st.executeUpdate("UPDATE.Tabela1 SET Nome ='"+t2.getText()+"', Idade = "+t3.getText()+", Cpf = "+t4.getText()+", strg = "+t5.getText()+",  Dn=#"+t6.getText()+"#,Sal="+t7.getText()+" WHERE Codigo = "+t1.getText()); 
                               
               JOptionPane.showMessageDialog(null,"Registro Alterado com sucesso!...", "Mensagem do Programa", JOptionPane.INFORMATION_MESSAGE); 
                
               t1.requestFocus(); 
               st.close(); 
               con.close(); 
            } 
                
               catch(Exception event){ 
               JOptionPane.showMessageDialog(null, "Conexão não estabelecida", "Mensagem do Programa", JOptionPane.ERROR_MESSAGE); 
            } 
            }}); 
          
         setSize(450,350); 
         setVisible(true); 
         setLocationRelativeTo(null); 
         } 
         public static void main (String args[]){ 
            Alterar app = new Alterar(); 
            app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
                
            } 
             
         } 
Atenciosamente, Edson
GOSTEI 0
Rodrigo Scorsatto

Rodrigo Scorsatto

09/04/2009

segue o programa com algumas atualizações:
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.sql.*;

public class Alterar extends JFrame {
       JButton botao, botao2;
       
       JLabel     l1, l2, l3, l4, l5, l6, l7, l8;
       JTextField t1, t2, t3, t4, t5, t6, t7, t8;
       
       String result;
       
       int num;
       
       public Alterar (){
              super ("Alteração de Registros");
              Container tela = getContentPane ();
              tela.setLayout (null);
              
              l1 = new JLabel ("Código"); t1 = new JTextField (5);
              l2 = new JLabel ("Nome"); t2 = new JTextField (50);
              l3 = new JLabel ("Idade"); t3 = new JTextField (2);
              l4 = new JLabel ("CPF"); t4 = new JTextField (14);
              l5 = new JLabel ("RG"); t5 = new JTextField (12);
              l6 = new JLabel ("Data Nascimento"); t6 = new JTextField (10);
              l7 = new JLabel ("Salario"); t7 = new JTextField (15);
              l8 = new JLabel ("Deficiente"); t8 = new JTextField (5);
              
              l1.setBounds (20, 30, 80, 20); t1.setBounds (100, 30,150, 20);
              l2.setBounds (20, 70, 80, 20); t2.setBounds (100, 70,300, 20);
              l3.setBounds (20,110, 80, 20); t3.setBounds (100,110, 30, 20);
              l4.setBounds (195,110,40, 20); t4.setBounds (240,110,160, 20);
              l5.setBounds (20,150, 80, 20); t5.setBounds (100,150, 80, 20);
              l6.setBounds (195,150,90, 20); t6.setBounds (280,150,120, 20);
              l7.setBounds (20,190, 80, 20); t7.setBounds (100,190, 70, 20);
              l8.setBounds (20,230, 80, 20); t8.setBounds (100,230, 70, 20);
              
              botao = new JButton ("Consultar Registro"); botao.setBounds (20, 270, 150, 20);
              botao2 = new JButton ("Alterar Registro"); botao2.setBounds (250, 270, 150, 20);
              
              tela.add (l1); tela.add (t1);
              tela.add (l2); tela.add (t2);
              tela.add (l3); tela.add (t3);
              tela.add (l4); tela.add (t4);
              tela.add (l5); tela.add (t5);
              tela.add (l6); tela.add (t6);
              tela.add (l7); tela.add (t7);
              tela.add (l8); tela.add (t8);
              tela.add (botao); tela.add (botao2);
              
              
              
              botao.addActionListener (new ActionListener (){
                     public void actionPerformed (ActionEvent e){
                            try{
                                   Class.forName ("sun.jdbc.odbc.JdbcOdbcDriver");
                                   Connection con =  DriverManager.getConnection ("jdbc:odbc:Agenda", "","");
                                   Statement st = con.createStatement ();
                                   ResultSet rs = st.executeQuery ("SELECT * FROM tabela1 WHERE Codigo ="+ t1.getText ());
                                   rs.next ();
                                   t2.setText (rs.getString ("Nome"));
                                   t3.setText (rs.getString ("Idade"));
                                   t4.setText (rs.getString ("Cpf"));
                                   t5.setText (rs.getString ("strg"));
                                   t6.setText (rs.getString ("Dn"));
                                   
                                   
                                   t7.setText (rs.getString ("Sal"));
                                   num=Integer.parseInt (rs.getString ("Def"));
                                   if (num == 1)
                                          result = "Sim";
                                   {
                                          if (num == 0)
                                                 result = "Não";
                                   }
                                          t8.setText (result);
                                          st.close ();
                            } catch(Exception event ){
                                   JOptionPane.showMessageDialog (null, "Conexão não estabelecida ou"
                                   + "\nPessoa não encontrada \n Verifique se voce digitou o código para consulta", "Mensgaem do programa ", JOptionPane.ERROR_MESSAGE);
                            }
                     }});
                     
                      t5.addMouseListener(new java.awt.event.MouseAdapter() {
                     public void mousePressed(java.awt.event.MouseEvent evt) {
                                   System.out.println ("usou o mouse"); // aqui vc coloca a rotina de validacao
                     }
              });
              t5.addCaretListener(new javax.swing.event.CaretListener() {
                     public void caretUpdate(javax.swing.event.CaretEvent evt) {
                         System.out.println ("usou o teclado");// aqui vc coloca a rotina de validacao
                     }
              });
                     
                     
                     botao2.addActionListener (new ActionListener (){
                            public void actionPerformed (ActionEvent e){
                                   try{
                                          if (t8.getText ().equals ("sim")) //||  (((t6.getText()).equals("S")))
                                                 result = "Sim";
                                          //t8.Text("Sim");
                                          
                                          if (t8.getText ().equals ("S")) //||  (((t6.getText()).equals("S")))
                                                 result = "Sim";
                                          //   t8.Text("Sim");
                                          
                                          if (t8.getText ().equals ("n")) //||  (((t6.getText()).equals("n")))
                                                 result = "Não";
                                          //   t8.Text("Não");
                                          
                                          if (t8.getText ().equals ("N")) //||  (((t6.getText()).equals("N")))
                                                 result = "Não";
                                          //t8.Text("Não");
                                          
                                          
                                          Class.forName ("sun.jdbc.odbc.JdbcOdbcDriver");
                                          
                                          Connection con =
                                              DriverManager.getConnection ("jdbc:odbc:Agenda", "","");
                                          
                                          Statement st = con.createStatement ();
                                          
                                          //st.executeUpdate("UPDATE.Tabela1 SET Nome ='"+t2.getText()+"', Idade = "+t3.getText()+",Dn=#"+t4.getText()+"#,Sal="+t5.getText()+",Def="+ result+" WHERE Codigo = "+t1.getText());
                                          st.executeUpdate ("UPDATE.Tabela1 SET Nome ='"+t2.getText ()+"', Idade = "+t3.getText ()+", Cpf = "+t4.getText ()+", strg = "+t5.getText ()+",  Dn=#"+t6.getText ()+"#,Sal="+t7.getText ()+" WHERE Codigo = "+t1.getText ());
                                          
                                          JOptionPane.showMessageDialog (null,"Registro Alterado com sucesso!...", "Mensagem do Programa", JOptionPane.INFORMATION_MESSAGE);
                                          
                                          t1.requestFocus ();
                                          st.close ();
                                          con.close ();
                                   }
                                   
                                   catch(Exception event){
                                          JOptionPane.showMessageDialog (null, "Conexão não estabelecida", "Mensagem do Programa", JOptionPane.ERROR_MESSAGE);
                                   }
                            }});
                            
                            setSize (450,350);
                            setVisible (true);
                            setLocationRelativeTo (null);
                            
                            
                            
       }
       public static void main (String args[]){
              java.awt.EventQueue.invokeLater (new Runnable () {
                     public void run () {
                            new Alterar ().setVisible (true);
                     }
              });
              
       }
       
}
GOSTEI 0
Edson Amorim

Edson Amorim

09/04/2009

Prezado Rodrigo, Ótimo, implementei aqui a partir de suas modificações e felizmente, graças a Deus deu certo!! Está funcionando!! agora estou ajustando e adaptando para um melhor visul e acredito que este é um grande empuerrão para as próximas coisas a fazer deste tipo. E assim a gente vai aprendendo! Valeu muito!! Obrigado mais uma vez, Edson
GOSTEI 0
Rodrigo Scorsatto

Rodrigo Scorsatto

09/04/2009

beleza, qualquer duvida posta ai, que o pessoal do forum ajuda. :smile:
GOSTEI 0
Eustorgésilio

Eustorgésilio

09/04/2009

[quote="SerP"]Aqui tem uma biblioteca muito útil: https://brazilutils.dev.java.net/ Além desses que você precisa tem outros documentos.
Cara Interessei-me nessa biblioteca. vc faz parte dos desenvolvedores? como faça para conseguir ela? ja me registrei no site e pedi um papel pra mim, soh que naum acho onde eu baixo a biblioteca! vlw! :smile:
GOSTEI 0
Fabio Cardoso

Fabio Cardoso

09/04/2009

Existe um site que disponibiliza uma api ( biblioteca, .dll) que pode ser usada em varias linguagens para consultar os dados da receita federal, sintegra e outros sites: http://knu.com.br Contratei aqui pra minha empresa e funciona muito bem. Usamos para confirmar dados cadastrais de clientes a partir de um CPF ou CNPJ (nome completo, razão social, situação cadastral, endereço, etc). É bom também para confirmar se a empresa existe e não apenas validar se o CNPJ ou CPF são válidos. Recomendo.
GOSTEI 0
Fabio Cardoso

Fabio Cardoso

09/04/2009

[quote="Bugs99"]Existe um site que disponibiliza uma api ( biblioteca, .dll) que pode ser usada em varias linguagens para consultar os dados da receita federal, sintegra e outros sites: http://knu.com.br Contratei aqui pra minha empresa e funciona muito bem. Usamos para confirmar dados cadastrais de clientes a partir de um CPF ou CNPJ (nome completo, razão social, situação cadastral, endereço, etc). É bom também para confirmar se a empresa existe e não apenas validar se o CNPJ ou CPF são válidos. Recomendo.
Meio atrasada a resposta (o tópico é de ALGUNS anos atrás), mas valeu a intenção! Os outros usuários agradecem!
GOSTEI 0
Lucas Iorio

Lucas Iorio

09/04/2009

Lol a IDE JAVAFREE rolou solta aqui =)
GOSTEI 0
POSTAR