Problema no botão gravar

3 respostas
Anime

Olá,não estou acertando esse botão gravar .Ajuda,please...

private void botao_gravarActionPerformed(java.awt.event.ActionEvent evt) {                                             
        //código para gravar os dados no banco
      try
{
            
            String sqlinsert="insert into TB_produto (descricao,unidade,tamanho,peso,preco,observacao,data) values " +
                    "('"+
                  tf_decprod.getText()+ "','"+
                 tf_unidprod.getText()+ "','"+
                 tf_tamanho.getText()+ "','"+
                 tf_peso.getText()+ "','"+
                 tf_preco.getText()+ "','"+
                 tf_obsprod.getText()+ "','"+
                 tf_dataprod.getText()+ "')";
            conecta_produto.statement.executeUpdate(sqlinsert);
            JOptionPane.showMessageDialog(null,"Gravação realizada com sucesso");
            
            //atualizar resulset
            conecta_produto.resultset=conecta_produto.statement.executeQuery("select * from TB_produto order by "+ordenacao);
            atualiza_combobox_produto();
            conecta_produto.resultset.first();//vai para o primeiro registro
            preencher_jtable();
            mostrar_dados();//chama função que mostra os dados
        }
catch(SQLException erro)
{
    JOptionPane.showMessageDialog(null,"Erro,dados não foram gravados"+erro);
}
    }

mensagem de erro: Erro,dados não foram gravadosjava.sql.SQLEXCEPTION:[Microsoft][Driver ODBC para Microsot Access]Tipo de dados incompativel na expressão de critério.

3 Respostas

M

antes dessa linha de código

conecta_produto.statement.executeUpdate(sqlinsert);

coloque System.out.println(sqlinsert);

vai aparecer na tela o que vc ta inserindo no banco de dados!

verifique se está compatível com as normas SQL.

se ta tudo certo, se nao ta enviando coisas estranhas para o SGBD :wink:

vitimnunes

nesse caso nao seria melhor usar java.sql.PreparedStatement
exemplo:

Connection connection = // aqui seu metodo para recuperar a connection
PreparedStatement statement = connection.prepareStatement( "INSERT INTO usuario( nome, sexo, login, senha ) VALUES( ?,?,?,? )" );

statement.setString( 1, "Victor" ); // repare que o indice começa em 1
statement.setString( 2, "Masculino" );
statement.setString( 3, "vnunes" );
statement.setString( 4, "123" );

statement.executeUpdate();

lembrando que essas classes são do pacote java.sql

Anime

Bem pessoal,problema resolvido.Pra quem é curioso como eu,ai vai,viajei na hora de definir os campos…Obrigada aos dois pela atenção…

Criado 11 de julho de 2010
Ultima resposta 12 de jul. de 2010
Respostas 3
Participantes 3