GUJ Discussões   :   últimos tópicos   |   categorias   |   GUJ Respostas

Estou com um erro Java.lang.Exception alguem sabe como resolver

mysql
java
programação
Tags: #<Tag:0x00007f187f2758f0> #<Tag:0x00007f187f26f810> #<Tag:0x00007f187f26c4f8>

#1

Aqui está o código:
private void alterar() throws SQLException {
try {

        pst = conexao.prepareStatement("UPDATE tb_usuarios SET Usuario=?,Telefone=?,Login=?,Senha=?,Email=? WHERE IDUsuario=?;");
        pst.setString(1, txtNomeUsu.getText());
        pst.setString(2, txtFone.getText());
        pst.setString(3, txtLoginUsu.getText());
        pst.setString(4, txtSenha.getText());
        pst.setString(5, txtEmail.getText());
        pst.setString(6, txtIDUsu.getText());

        if ((txtNomeUsu.getText().equals(""))
                || (txtLoginUsu.getText().equals("")) || (txtSenha.getText().equals(""))
                || (txtConfSenha.getText().equals(txtSenha.getText()))) {

            JOptionPane.showMessageDialog(null, "Preencha todos os campos corretamente");

        } else {

            int t = pst.executeUpdate();

            pst.executeUpdate();

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

#2

Tira o “;” da sua string SQL!

E as validações de campos vazios e obrigatórios você faz antes de montar o pst.


#3

Boa noite amigo.

Tenta isso:

public void alterar(Connection conexao, PreparedStatement pst) {
    try {
        if (valid(txtNomeUsu, txtLoginUsu, txtSenha) || (txtConfSenha.getText().equals(txtSenha.getText()))) {
            pst = conexao.prepareStatement("UPDATE tb_usuarios SET Usuario = ?, Telefone = ?, Login = ?, Senha = ?, Email = ? WHERE IDUsuario = ?");
            setValues(pst, txtNomeUsu, txtFone, txtLoginUsu, txtSenha, txtEmail, txtIDUsu);
            JOptionPane.showMessageDialog(null, "Preencha todos os campos corretamente");
        } else {
            if (pst.executeUpdate() == 1) {
                JOptionPane.showMessageDialog(null, "Atualização realizada com sucesso!");
            }
        }
    } catch (Exception e) {
        JOptionPane.showMessageDialog(null, e);
        System.out.println(e);
    }
}

private boolean valid(JTextField... fields) {
    for (JTextField field : fields) {
        if (field.getText().equals("")) {
            return false;
        }
    }
    return true;
}

private void setValues(PreparedStatement pst, JTextField... fields) {
    try {
        List<JTextField> lista = Arrays.asList(fields);
        for (JTextField field : lista) {
            pst.setString(lista.indexOf(field), field.getText());
        }
    } catch (Exception e) {
        e.printStackTrace();
    }
}

:metal::sunglasses::metal: