Erro ao Salvar no Banco de dados

5 respostas
J

Boa noite galera, estou com um probleminha, de erro de SQL na hora de salvar no banco de dados e nao estou encontrando esse erro!
o codigo é esta abaixo! Estou fazendo com base JDBC! Agradeço desde já!

try {
            Class.forName("com.mysql.jdbc.Driver");


            Connection con;

            con=DriverManager.getConnection("jdbc:mysql://127.0.0.1/calcadossegali","root","");


             String query = "INSERT INTO funcionario(nome, "
                    + "rua,"
                    + "num,"
                    + "bairro,"
                    + "cep,"
                    + "telefone,"
                    + "celular,"
                    + "rg,"
                    + "cpf,"
                    + "setor,"
                    + "funcao,"
                    + "salario,"
                    + "transporte,"
                    + "valealimentacao) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)";

            PreparedStatement stmt = con.prepareStatement(query);

            stmt.setString(1,tfnomeFunc.getText());
            stmt.setString(2,tfruaFunc.getText());
            stmt.setString(3,tfnumFunc.getText());
            stmt.setString(4,tfbairroFunc.getText());
            stmt.setString(5,tfcepFunc.getText());
            stmt.setString(6,tftelefoneFunc.getText());
            stmt.setString(7,tfcelFunc.getText());
            stmt.setString(8,tfrgFunc.getText());
            stmt.setString(9,tfcpfFunc.getText());
            stmt.setString(10,tfsetorFunc.getText());
            stmt.setString(11,tfsalarioFunc.getText());
            stmt.setString(12,tftranspFunc.getText());
            stmt.setString(13,tfAlimFunc.getText());

            stmt.executeUpdate();
            stmt.close();
            con.close();



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

        }catch (SQLException sqle){
            System.out.println("Ocorreu um error SQL");
        }

5 Respostas

rodrigoalmeida

Mostre o erro que deu

rodrigoalmeida

Faltou setar o campo função depois do campo setor no código java.

...
stmt.setString(10,tfsetorFunc.getText());  
stmt.setString(11,tffuncaoFunc.getText());  
stmt.setString(12,tfsalarioFunc.getText());
....
Lucas_Abbatepaolo

como o amigo ai em cima falou…
seu preparedstatement espera 14 valores e vc so seta treze…

J

Obrigado galera nem percebi esse detalhe!

abraços

Lucas_Abbatepaolo

nao esqueca de colocar como [Resolvido]

Criado 4 de abril de 2011
Ultima resposta 5 de abr. de 2011
Respostas 5
Participantes 3