Gravar na tabela

Boa Tarde, sou iniciante em Java, e estou com o seguinte problema. Ao clicar com o Botão SALVAR do me projeto ele retorna o erro : Erro ao Executar a query.

Alguém pode me ajudar? Segue o código.

Grato,

private void BtnSalvarActionPerformed(java.awt.event.ActionEvent evt) {                                          
    if( VarNome.getText().length() < 3){
        JOptionPane.showMessageDialog( this, "Nome inválido");
        return;
    }
    Banco b = new Banco();
    try {
        b.abrirBD();
    } catch (SQLException ex) {
        Logger.getLogger(DadosFuncionario.class.getName()).log(Level.SEVERE, null, ex);
    }
    
    String _nome = VarNome.getText();
    String _endereco = VarEndereco.getText();
    String _bairro = VarBairro.getText();
    String _cep = VarCep.getText();
    String _cidade = VarCidade.getText();
    String _uf = VarUF.getText();
    String _fone = VarFone.getText();
    String _recado = VarRecado.getText();
    String _entrada = VarEntrada.getText();
    String _saida = VarSaida.getText();
                  
    String _sal = VarSalario.getText();    
    Integer _salario = Integer.getInteger( _sal );
    
    String _tpPgto = VarTpPagto.getText(); 
    String _funcao = VarFuncao.getText();
    String _admissao = VarAdmissao.getText();
    String _demissao = VarDemissao.getText();
    
    String _adi = VarAdianta.getText();
    String _vtra = VarVT.getText();
    String _conv = VarConvenio.getText();
    
    Integer _adianta = Integer.getInteger( _adi );
    Integer _vt = Integer.getInteger( _vtra );
    Integer _convenio = Integer.getInteger( _conv );
    String _tpFunc = VarTpFunc.getText();
    String _Situacao = VarSituacao.getText();
    String _dtNasc = VardtNasc.getText();
            
    boolean deucerto = b.executar( "INSERT INTO 'funcionarios' ( "
            + "Nome, "                
            + "endereco, "
            + "bairro, "
            + "cep, "
            + "cidade, "
            + "UF, "
            + "fone, "
            + "recado, "
            + "Entrada, "
            + "Saida, "
            + "Salario, "
            + "tipopgto, "
            + "Funcao, "
            + "admissao, "
            + "demissao, "
            + "adiantamento,"
            + "VT,"           
            + "convenio, "  
            + "tpfuncao, "
            + "situacao, "
            + "data_nasc ) VALUES ( "
            +
            _nome,
            _endereco,
            _bairro,
            _cep,
            _cidade,
            _uf,
            _fone,
            _recado,
            _entrada,
            _saida,
            _salario,
            _tpPgto,
            _funcao,
            _admissao,
            _demissao,
            _adianta,
            _vt,
            _convenio,
            _tpFunc,
            _Situacao,
            _dtNasc );
    
    if(deucerto){
        JOptionPane.showMessageDialog(this, "Cadastro Realizado com Sucesso");
        this.dispose();
        
    }        
            
}                                         

public void abrirBD() throws SQLException {
try {
Class.forName(“org.gjt.mm.mysql.Driver”);
conexao = DriverManager.getConnection(host, usuario, senha);
comando = conexao.createStatement(ResultSet.CONCUR_READ_ONLY, ResultSet.TYPE_SCROLL_INSENSITIVE);

    }   catch(ClassNotFoundException e ){
        JOptionPane.showMessageDialog( null, "Driver Não Encontrado");    
    
    }   catch(SQLException e ){
        JOptionPane.showMessageDialog( null, "Erro ao conectar-se ao Banco de Dados");    
        
    }
    
}
public boolean executar( String query, Object... o ){
    try{
        comando.execute( String.format(Locale.US, query, o));
        return true;
        
    }   catch(SQLException e){
            JOptionPane.showMessageDialog( null, "Erro ao executar a Query");    
            return false;
        
    }
}

Oi Claudemir_Easy,

O seu código SQL deve estar com algum erro de sintaxe ou alguma variável não está correta.

  1. Para descobrir o erro você pode imprimir o SQL antes de executá-lo. Dessa forma fica mais fácil de identificar o erro.

  2. Exiba a msg de erro com o printStackTrace que vai indicar exatamente o problema.
    No código “OptionPane.showMessageDialog( null, “Erro ao executar a Query”);” troque por
    OptionPane.showMessageDialog( null, e.printStackTrace());

  3. Esse trecho do código está errado “comando.execute( String.format(Locale.US, query, o));”
    Não é necessário o Locale ou um objeto para executar o comando sql no Banco. O comando correto deve ser apenas “comando.execute(query);”

  4. Aqui no fórum coloque o código utilzando as tag de código “[code]”. Assim fica mais fácil de identificar pela linha do código.

Abraços,

Alcides