Olá galera do Portal Java…
Estou com um problema de validação para envio de dados para o MYSQL
Segue o código…
Aluno novoAluno = new Aluno();// cria um novo aluno
try {
do {
/* 'seta' o nome do aluno com o que foi digitado na
caixa do formulario*/
novoAluno.setNome(textField1.getText().toUpperCase());
// 'seta' o sexo do aluno com a opção do formulario
novoAluno.setSexo((String) sexoC.getSelectedItem());
validar = true;
} while (!validar);
} catch (NumberFormatException e1) {/*captura a exceção caso o usuário deixe um
campo em branco ou formeneça uma letra em campos destinados a numeros */
JOptionPane.showMessageDialog(null, "Impossível cadastrar");
}
try {
Connection con = Conexao.getConnection();// abre a conexão
String sql = "insert into aluno(nome,sexo)";
sql += "values('" + novoAluno.getNome() + "','"
+ novoAluno.getSexo() + "')";
Statement st = (Statement) con.createStatement();
st.executeUpdate(sql); /*envia a String com os valores definidos
para o banco*/
} catch (SQLException e2) {
System.out.println(e2.getMessage());
} catch (Exception e2) {
System.out.println(e2.getMessage());
}
System.out.println("Aluno cadastrado com sucesso!!!");
}
Meu problema é qdo o usuário digita alguma coisa errada no formulario ao inves do loop barrar a ação,
ele deixa prossegir (até aparece a janela com a mensagem de que o usuário não pode ser cadastrado
e depois a impressão no console “Aluno cadastardo com sucesso”)
deixando assim aos campos da tabela com os valores ‘null’
Obs.: o farmulario tem ainda idade, nome de pai , nome de mãe e varias outras coisas mas só coloquei os 2
primeiros campos para exemplificar, pois o meu problema é essa validação que tem que ocorrer para que os
campos não sejam ‘setados’ com null. [i][b]
Gostaria de uma ajuda
Obrigado desde já
abraços