Botão alterar [java]

25/04/2016

0

Boa tarde galera.
Estou iniciando na plataforma java juntamento com o BD mysql(local).
Estou desenvolvendo um sistema de CRUD.
O código que estou utilizando no botão é o seguinte:

private void alterar() {
        String sql = "update tbclientes set nome=?,apelido=?,endereco=?,bairro=?,cidade=?,telefone=?,celular=?,lista_negra=? where nome=?";
        try {
            pst = conexao.prepareStatement(sql);
            pst.setString(1, txtCliNome.getText());
            pst.setString(2, txtCliapelido.getText());
            pst.setString(3, txtCliendereco.getText());
            pst.setString(4, txtCliBairro.getText());
            pst.setString(5, txtCliCidade.getText());
            pst.setString(6, txtCliTel.getText());
            pst.setString(7, txtCliCel.getText());
            pst.setString(8, cboCliList.getSelectedItem().toString());
            if (txtCliNome.getText().isEmpty() || (txtCliapelido.getText().isEmpty()) || (txtCliendereco.getText().isEmpty()) || (txtCliBairro.getText().isEmpty())) {
                JOptionPane.showMessageDialog(null, "Preencha todos os campos obrigatórios");
            } else {

                //a linha abaito atualiza a tablea com os dados do formulario
                //A estrutura abaixo é usada para confirmar a alteração dos dados na tabela
                int adicionado = pst.executeUpdate();
                //a linha abaixo serve de apoio ao entendimento da logica.
                //System.out.println(adicionado);
                if (adicionado > 0) {
                    JOptionPane.showMessageDialog(null, "Os dados do usuário foram alterados com sucesso!!");
                    txtCliNome.setText(null);
                    txtCliapelido.setText(null);
                    txtCliendereco.setText(null);
                    txtCliBairro.setText(null);
                    txtCliCidade.setText(null);
                    //A linha abaixo se refere ao combobox

                }
            }
        } catch (Exception e) {
            JOptionPane.showMessageDialog(null, e);
        }
    }


Quando vou executar a aplicação recebo o seguinte erro:
java.sql.SQLException:No value specified for parameter 9

Eu preciso muito resolver esse problema, se puderem me ajudar agradeceria muito.
Paulo Baltieri

Paulo Baltieri

Responder

Post mais votado

26/04/2016

Faltou informar o parâmetro 9 o nome usado do where

nome=?

Jothaz

Jothaz
Responder

Mais Posts

25/04/2016

Marcos Paulo

Boa tarde Paulo...

Confere esse video.

[url]https://www.youtube.com/watch?v=8GKsPyC4G7w[/url]
Responder

26/04/2016

Marcos Paulo

Paulo, ajudou o video?
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar