Re:nao esta gravando no banco de dados pq?

31 respostas
D

BOM DIA GALERA, ESTOU COM PROBLEMA AQUI O SISTEMA DE ACADEMIA!!!! FIZ A CONECÇÃO DO BANCO TD CERTO... MAS NA HORA DE GRAVA TA DIZENDO Q JA ESTA GRAVADO.... E NAO TEM NADA AMAZENADO NO BANCO???

ESSE É O CODIGO Q USEI PRA FAZER A CONCÇÃO!!!

private void Conexao() {
            try{
            Class.forName("com.mysql.jdbc.Driver");
            conn =  (Connection) DriverManager.getConnection("jdbc:mysql://localhost/academia","root","");
            MeuState = (Statement) conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
            String sql="select * from cadaluno";
            rs=MeuState.executeQuery(sql);
            rs.first();
            AtualizaCampos();
             JOptionPane.showMessageDialog(null,"Conexao Realizada");
            }
            catch(ClassNotFoundException ex)            {
                JOptionPane.showMessageDialog(null,"Driver JDBC-ODBC não encontrado!");            }
            catch(SQLException ex){
                JOptionPane.showMessageDialog(null,"Problema na Conexao com Banco de dados!");
          }
             }


    public void AtualizaCampos() {
        try {
            tfcodigo.setText(rs.getString("codigo"));
            tfnome.setText(rs.getString("nome"));
            tfendereco.setText(rs.getString("endereco"));
            tftel1.setText(rs.getString("tel1"));
            tftel2.setText(rs.getString("tel2"));
            tfdatanascimento.setText(rs.getString("datanascimento"));
            tfobs.setText(rs.getString("obs"));
            tfcelular.setText(rs.getString("celualr"));
            tfemail.setText(rs.getString("email"));
            }
        catch(SQLException ex)
        { }    }

public void limpacampos(){
    JTextField[] tf=campos();
    for(int i=0;i<tf.length;i++){
        tf[i].setText("");
    }

  }
private JTextField[] campos(){
    JTextField[] tf={tfcodigo,tfnome,tfendereco,tftel1,tftel2,tfdatanascimento,tfobs,tfcelular,tfemail};
    return tf;
}

E ESSE É O CODIGO DO BOTAO INSERIR!!!

private void jToggleButton9ActionPerformed(java.awt.event.ActionEvent evt) {                                               
try
{
        tfcodigo.requestFocus();
    String SQL="insert into cadaluno(codigo,nomealuno,endereco,email,datanascimento,te1,tel2,celular,obs) Values " +
            "('"+tfcodigo.getText()+"',"
            + tfnome.getText()+"',"
            + tfendereco.getText()+","
            + tfdatanascimento.getText()+","
            + tftel1.getText()+","
            + tftel2.getText()+","
            + tfcelular.getText()+","
            + tfobs.getText()+","
            + tfemail.getText()+")";
            MeuState.executeUpdate(SQL);
            JOptionPane.showMessageDialog(null,"Gravação Realizada com Sucesso");
            limpacampos();
}
catch(SQLException ex){
           JOptionPane.showMessageDialog(null,"Registro já Cadastrado");}

31 Respostas

leoramos

1-> Pesquise sobre sessão e transações; teu erro tá aí.
2-> Cuide pra não fazer tópicos nem títulos todos em caixa alta.

Abraço!

D

sessão e transações??? tem aqui no forum???

difosal

Não necessariamente uma SQLException é um erro do registro ja cadastrado
nessa parte

catch(SQLException ex){  
           JOptionPane.showMessageDialog(null,"Registro já Cadastrado");
}

manda ele imprimir o printStrackTrace
e ve o erro de verdade

D

catch(SQLException ex){ JOptionPane.showMessageDialog(null,"Registro já Cadastrado"); }

A linha acima citada eu tirei do projeto… mas continua nao gravando no banco de dados as informações pq???

difosal

Nao era para tirar e sim trocar
coloca

catch(SQLException ex){
          ex.printStackTrace();
   }

desse jeito ele vai aparecer no console o erro que esta dando

Luiz_Aguiar

vc aprendeu usar o capslock agora é?

editei TODO seu tópico por favor… os próximos serão deletados!

[]s

D

Amigo fiz assim primeiro....

}
catch(SQLException ex){
           JOptionPane.showMessageDialog(null,ex.printStackTrace());

}

mas continua dando erro, agora pede pra excluir essa linha no projeto...

difosal

eu postei errado o codigo a primeira vez ai arrumei depois kkkk

catch(SQLException ex){  
          ex.printStackTrace();  
   }
nel

Oi!

1 - Imprima o contéudo da sua String no método para inserir.
2 - Pegue este contéudo e insira manualmente no seu banco, dessa forma, terás certeza que o problema não está relacionado a sua instrução SQL.

Abraços.

difosal

É mesmo está faltando algumas aspas simples la!

D

aspas??? onde meu amigo???

D

nel !!!

amigo fiz aplicação manuel aqui e ficou!!!

mas pelo sistema nao fica nao!!!

difosal

se todos campos forem de varchar ficaria assim

String SQL="insert into cadaluno(codigo,nomealuno,endereco,email,datanascimento,te1,tel2,celular,obs) Values " +  
            "('"+tfcodigo.getText()+"','"  
            + tfnome.getText()+"','"  
            + tfendereco.getText()+"','"  
            + tfdatanascimento.getText()+"','"  
            + tftel1.getText()+"','"  
            + tftel2.getText()+"','"  
            + tfcelular.getText()+"','"  
            + tfobs.getText()+"','"  
            + tfemail.getText()+"')";
D

enatao vou troca e coloca tdos varchar… mas se nao forem como ficaria???

ganondorfan

1º-Não construa suas Query’s com concatenação desta forma, utilize PreparedStatement.
2º- Procure utilizar orientação a objeto, construa suas entidades e suas DAOs.
3º- o “executeUpdate” costuma retornar um inteiro que representa o número de registros alterados, ou 0 caso nada tenha acontecido.
4º- Desliga o CapsLock, tive a sensação que você estava gritando.

No mais boa sorte

D

galera desculpa pela Caixa Alta…

D

ganondorfan - desculpa ai meu brother mas é pq aprendir assim dessa forma. nao sei usar ou metado nao… sou iniciante e so quero terminar um trabalho de facudade…

L

faça de uma forma elegante e fácil de visualizar, assim fica mais fácil de perceber o que está falatando e etc...

try {  
           con = DAOConexao.getConn();
           String sql = "INSERT into tb_Clientes (CodigoImprCliente ,NomeCLi ,EnderecoCli ,TelefoneCli)" + " VALUES (? ,?, ?, ?)";
			
            pstm = con.prepareStatement(sql);  
            
            pstm.setString(1,cad.getCodigoImprCliente());
			pstm.setString(2,cad.getNome());							
			pstm.setString(3,cad.getEndereco());			
			pstm.setString(4,cad.getTel());
			
			pstm.executeUpdate(); 
			con.commit();

		}catch (SQLIntegrityConstraintViolationException e) {
			inserir = false;
			new Mensagem(null, "ERRO", "Cliente não Cadastrado ! ", Mensagem.MSG_BOTAO_OK, Mensagem.MSG_ICONE_ERRO);
			
		}catch(Exception e){
			System.out.println(e.toString());
		}finally{

			try{
				// pstm.close(); 
				//con.close();
			}catch(Exception e) {   
				e.printStackTrace();   
			}
difosal

se for campo numerico vc tira as aspas simples

"'," +tftel2.getText()+",'"

se for Date vc coloca formato ‘2011-12-30’

Luiz_Aguiar

Desculpa nada… edita o tópico!!!

D

ok vou testar aqui!!!

L

já disse faça da forma mais simples, qualquer coisa que falta em seu insert vai dar erro ai tem que ficar procurando que onde esta ocorrendo se é falta de pontos, aspas e etc…

bom problema é seu !!!

é uma dica!!!

e edite a M#$#$a do titulo!!!

Anime

Oi,

Espero que ajude! :wink:

D

Anime Obrigado…

Pessoa obrigado por td… agora vou trabalhar emcima dele e ate no final da tarde eu coloca a reposta se deu certo ou nao…

ate mas tarde!!!

L

ok…mas ainda vai deixar seu topic com caixa alta?
não sabe editar ele?

abrxx

D

ok galera estou de volta aqui... encontrei outro metodo..

abaixo o metodo q usei.. funcionou perfeitamente, mas na hora q fui coloca esse mesmo no botao de inserir na parti de funcionario deu erro de sql.. pq ???

obs.: tro quei o nome dos campos e das tabelas na hroa de coloca no botao inserir do formulario funcionario.

try {
            // cria a conexao:
            Class.forName("com.mysql.jdbc.Driver");

            //cria a variavel


            try {
                con = (Connection) DriverManager.getConnection("jdbc:mysql://localhost/academia", "root", "");

    tfcodigo.requestFocus();
   String query = "INSERT INTO cadaluno (codigo, nomealuno, endereco, email, datanascimento, tel1, tel2, celular, obs ) VALUES (?,?,?,?,?,?,?,?,?)";

               PreparedStatement stmt = (PreparedStatement) con.prepareStatement(query);

               stmt.setString(1, tfcodigo.getText());
               stmt.setString(2, tfnome.getText());
               stmt.setString(3, tfendereco.getText());
               stmt.setString(4, tfemail.getText());
               stmt.setString(5,tfdatanascimento.getText());
               stmt.setString(6, tftel1.getText());
               stmt.setString(7, tftel2.getText());
               stmt.setString(8,tfcelular.getText());
               stmt.setString(9,tfobs.getText());
               



               JOptionPane.showMessageDialog(null,"Gravação Realizada com Sucesso");

               stmt.execute();




            } catch (SQLException ex) {
                System.out.println("Ocorreu um erro de Sql");
            }

        } catch (ClassNotFoundException ex) {
            System.out.println("Não foi possível encontrar a Classe");



        }
C

se na sua tabela, o codigo for auto-increment, pode estar dando erro ai. (vc está enviando o codigo junto da query sql, e nao precisa)
se não adiantar, troque isto:

} catch (SQLException ex) { System.out.println("Ocorreu um erro de Sql");
por isso

} catch (SQLException ex) {  
               ex.printStackTrace(); //acho q é assim

e cole o erro pra gente.

JOptionPane.showMessageDialog(null,"Gravação Realizada com Sucesso");  
  
              stmt.execute();

acho que estes comandos estão invertidos tb, ele manda a mensagem antes de tentar gravar.

lembrando que estou iniciando e posso estar falando alguma bobagem :slight_smile:

D

ok fiz essa alteração e apareceu o seguinte erro…

com.mysql.jdbc.MysqlDataTruncation: Data truncation: Data too long for column 'datanascimento' at row 1 at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3489) at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3423) at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1936) at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2060) at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2542) at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1734) at com.mysql.jdbc.PreparedStatement.execute(PreparedStatement.java:995) at ProjetoAcademia.jToggleButton9ActionPerformed(ProjetoAcademia.java:1356) at ProjetoAcademia.access$100(ProjetoAcademia.java:28) at ProjetoAcademia$2.actionPerformed(ProjetoAcademia.java:253) at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995) at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318) at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387) at javax.swing.JToggleButton$ToggleButtonModel.setPressed(JToggleButton.java:291) at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236) at java.awt.Component.processMouseEvent(Component.java:6289) at javax.swing.JComponent.processMouseEvent(JComponent.java:3267) at java.awt.Component.processEvent(Component.java:6054) at java.awt.Container.processEvent(Container.java:2041) at java.awt.Component.dispatchEventImpl(Component.java:4652) at java.awt.Container.dispatchEventImpl(Container.java:2099) at java.awt.Component.dispatchEvent(Component.java:4482) at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4577) at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4238) at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168) at java.awt.Container.dispatchEventImpl(Container.java:2085) at java.awt.Window.dispatchEventImpl(Window.java:2478) at java.awt.Component.dispatchEvent(Component.java:4482) at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:644) at java.awt.EventQueue.access$000(EventQueue.java:85) at java.awt.EventQueue$1.run(EventQueue.java:603) at java.awt.EventQueue$1.run(EventQueue.java:601) at java.security.AccessController.doPrivileged(Native Method) at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87) at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:98) at java.awt.EventQueue$2.run(EventQueue.java:617) at java.awt.EventQueue$2.run(EventQueue.java:615) at java.security.AccessController.doPrivileged(Native Method) at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87) at java.awt.EventQueue.dispatchEvent(EventQueue.java:614) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:178) at java.awt.Dialog$1.run(Dialog.java:1046) at java.awt.Dialog$3.run(Dialog.java:1098) at java.security.AccessController.doPrivileged(Native Method) at java.awt.Dialog.show(Dialog.java:1096) at java.awt.Component.show(Component.java:1585) at java.awt.Component.setVisible(Component.java:1537) at java.awt.Window.setVisible(Window.java:842) at java.awt.Dialog.setVisible(Dialog.java:986) at ProjetoAcademia.jMenuItem1ActionPerformed(ProjetoAcademia.java:1260) at ProjetoAcademia.access$600(ProjetoAcademia.java:28) at ProjetoAcademia$7.actionPerformed(ProjetoAcademia.java:1171) at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995) at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318) at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387) at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242) at javax.swing.AbstractButton.doClick(AbstractButton.java:357) at javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:809) at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMenuItemUI.java:850) at java.awt.Component.processMouseEvent(Component.java:6289) at javax.swing.JComponent.processMouseEvent(JComponent.java:3267) at java.awt.Component.processEvent(Component.java:6054) at java.awt.Container.processEvent(Container.java:2041) at java.awt.Component.dispatchEventImpl(Component.java:4652) at java.awt.Container.dispatchEventImpl(Container.java:2099) at java.awt.Component.dispatchEvent(Component.java:4482) at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4577) at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4238) at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168) at java.awt.Container.dispatchEventImpl(Container.java:2085) at java.awt.Window.dispatchEventImpl(Window.java:2478) at java.awt.Component.dispatchEvent(Component.java:4482) at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:644) at java.awt.EventQueue.access$000(EventQueue.java:85) at java.awt.EventQueue$1.run(EventQueue.java:603) at java.awt.EventQueue$1.run(EventQueue.java:601) at java.security.AccessController.doPrivileged(Native Method) at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87) at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:98) at java.awt.EventQueue$2.run(EventQueue.java:617) at java.awt.EventQueue$2.run(EventQueue.java:615) at java.security.AccessController.doPrivileged(Native Method) at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87) at java.awt.EventQueue.dispatchEvent(EventQueue.java:614) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161) at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)

leonardo.vizagre

O problema está relacionado com o campo data de nascimento…
Antes de mais nada, verifique o tipo e tamanho do campo da tabela. Depois desse passo, verifique o que está sendo enviado para a DAO, pois pelo erro, você está com estouro de campo…

[]´s

nel

djemidio:
ok fiz essa alteração e apareceu o seguinte erro…

com.mysql.jdbc.MysqlDataTruncation: Data truncation: Data too long for column 'datanascimento' at row 1 at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3489) at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3423) at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1936) at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2060) at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2542) at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1734) at com.mysql.jdbc.PreparedStatement.execute(PreparedStatement.java:995) at ProjetoAcademia.jToggleButton9ActionPerformed(ProjetoAcademia.java:1356) at ProjetoAcademia.access$100(ProjetoAcademia.java:28) at ProjetoAcademia$2.actionPerformed(ProjetoAcademia.java:253) at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995) at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318) at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387) at javax.swing.JToggleButton$ToggleButtonModel.setPressed(JToggleButton.java:291) at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236) at java.awt.Component.processMouseEvent(Component.java:6289) at javax.swing.JComponent.processMouseEvent(JComponent.java:3267) at java.awt.Component.processEvent(Component.java:6054) at java.awt.Container.processEvent(Container.java:2041) at java.awt.Component.dispatchEventImpl(Component.java:4652) at java.awt.Container.dispatchEventImpl(Container.java:2099) at java.awt.Component.dispatchEvent(Component.java:4482) at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4577) at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4238) at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168) at java.awt.Container.dispatchEventImpl(Container.java:2085) at java.awt.Window.dispatchEventImpl(Window.java:2478) at java.awt.Component.dispatchEvent(Component.java:4482) at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:644) at java.awt.EventQueue.access$000(EventQueue.java:85) at java.awt.EventQueue$1.run(EventQueue.java:603) at java.awt.EventQueue$1.run(EventQueue.java:601) at java.security.AccessController.doPrivileged(Native Method) at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87) at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:98) at java.awt.EventQueue$2.run(EventQueue.java:617) at java.awt.EventQueue$2.run(EventQueue.java:615) at java.security.AccessController.doPrivileged(Native Method) at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87) at java.awt.EventQueue.dispatchEvent(EventQueue.java:614) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:178) at java.awt.Dialog$1.run(Dialog.java:1046) at java.awt.Dialog$3.run(Dialog.java:1098) at java.security.AccessController.doPrivileged(Native Method) at java.awt.Dialog.show(Dialog.java:1096) at java.awt.Component.show(Component.java:1585) at java.awt.Component.setVisible(Component.java:1537) at java.awt.Window.setVisible(Window.java:842) at java.awt.Dialog.setVisible(Dialog.java:986) at ProjetoAcademia.jMenuItem1ActionPerformed(ProjetoAcademia.java:1260) at ProjetoAcademia.access$600(ProjetoAcademia.java:28) at ProjetoAcademia$7.actionPerformed(ProjetoAcademia.java:1171) at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995) at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318) at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387) at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242) at javax.swing.AbstractButton.doClick(AbstractButton.java:357) at javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:809) at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMenuItemUI.java:850) at java.awt.Component.processMouseEvent(Component.java:6289) at javax.swing.JComponent.processMouseEvent(JComponent.java:3267) at java.awt.Component.processEvent(Component.java:6054) at java.awt.Container.processEvent(Container.java:2041) at java.awt.Component.dispatchEventImpl(Component.java:4652) at java.awt.Container.dispatchEventImpl(Container.java:2099) at java.awt.Component.dispatchEvent(Component.java:4482) at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4577) at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4238) at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168) at java.awt.Container.dispatchEventImpl(Container.java:2085) at java.awt.Window.dispatchEventImpl(Window.java:2478) at java.awt.Component.dispatchEvent(Component.java:4482) at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:644) at java.awt.EventQueue.access$000(EventQueue.java:85) at java.awt.EventQueue$1.run(EventQueue.java:603) at java.awt.EventQueue$1.run(EventQueue.java:601) at java.security.AccessController.doPrivileged(Native Method) at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87) at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:98) at java.awt.EventQueue$2.run(EventQueue.java:617) at java.awt.EventQueue$2.run(EventQueue.java:615) at java.security.AccessController.doPrivileged(Native Method) at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87) at java.awt.EventQueue.dispatchEvent(EventQueue.java:614) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161) at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)

Oi!

A coluna ‘datanascimento’ não está aceitando o valor do campo tfdatanascimento.getText(). É de duas uma (ou as duas opções), você criou errado o campo datanascimento na base de dados e/ou o valor que está tentando persistir é inválido. Não esqueça que se é um Date (pode ser uma String, por exemplo) você deve persistir como um java.sql.Date, Timestamp, enfim, deve ser compatível com o campo criado no banco de dados.

Fique atento a isso.
Abraços.

M

Ola, Sua class de conexão esta “MEIO ERRADA”;
a Baixo um código que formei Usando informações de dois professores, dentre eles o Neri


package utilitarios; //Nome do Pacote que vai ficar a class

import java.sql.<em>;

import javax.swing.</em>;

public class conexao
{

String driver =  "com.mysql.jdbc.Driver";  
      String url = "jdbc:mysql://127.0.0.1:3306/NomeDoBancoDeDados";  //127.0.0.1:3306/ -- //Esse IP é padão só o que muda é o nome do Seu Banco de Dados
      String usuario = "root";  //Para MySql é Sempre root
      String senha = ""; //Senha Usada para logar no MySql  
      public  Connection conexao;  
      public  Statement statement;  
      public  ResultSet resultset;
    
   public boolean conecta()
   {
        boolean result = true;
        try 
        {
            Class.forName(driver);
            conexao = DriverManager.getConnection(url, usuario, senha); 
            //JOptionPane.showMessageDialog(null,"conectou");
        }
        catch(ClassNotFoundException Driver) 
        {
           JOptionPane.showMessageDialog(null,"Driver não localizado: "+Driver);
           result = false;
        }
        catch(SQLException Fonte) 
        {
            JOptionPane.showMessageDialog(null,"Deu erro na conexão "+
                    "com a fonte de dados: "+Fonte);
            result = false;
        }
        return result; 
   }
   
   public void desconecta()
   {
        boolean result = true;
        try 
        {
            conexao.close();
            JOptionPane.showMessageDialog(null,"banco fechado");
        }
        catch(SQLException fecha) 
        {
            JOptionPane.showMessageDialog(null,"Não foi possivel "+
                    "fechar o banco de dados: "+fecha);
            result = false;
        }

   }
   
   public void executeSQL(String sql)
   {
        try 
        {
            statement = conexao.createStatement(
                    ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
            resultset = statement.executeQuery(sql);
        }
        catch(SQLException sqlex) 
        {
           JOptionPane.showMessageDialog(null,"Não foi possível "+
                   "executar o comando sql,"+sqlex+", o sql passado foi "+sql);
        }

   }

} //Fim

Método Gravar//


private void BtSalvarActionPerformed(java.awt.event.ActionEvent evt) {

//Metado para Salvar

try

{

String sqlinsert =insert into NomeDoBancoDeDados(cidade,uf,bairro,rua,cep) values (’”+

TfCidade.getText()+"’,’"+

CbUf.getSelectedItem()+"’,’"+

TfBairro.getText()+"’,’"+

TfRua.getText()+"’,’"+

TfCep.getText()+"’)";
NomeDoBancoDeDados.statement.executeUpdate(sqlinsert);
                JOptionPane.showMessageDialog(null,"Gravação realizado com sucesso!");

        //atualiza o ResultSet
        NomeDoBancoDeDados.resultset = NomeDoBancoDeDados.statement.executeQuery("Select * from NomeDoBancoDeDados");
        
    }
catch (SQLException erro)

{

JOptionPane.showMessageDialog(null,Erro a tentar Gravar o registro…”+erro);

}

} //Fim
Criado 21 de junho de 2011
Ultima resposta 23 de mar. de 2013
Respostas 31
Participantes 11