Loop para validação 'VAZANDO' - Java + MYSLQ

1 resposta
J

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

1 Resposta

F

No tratamento da exception tem que usar break para sair do loop (ou return para sair do método).

Criado 21 de julho de 2009
Ultima resposta 22 de jul. de 2009
Respostas 1
Participantes 2