Olá pessoal!
implementei o seguinte código para um botão que tem a função de cadastro em minha aplicação:
[color=blue]class BtnCadastrar implements ActionListener{
public void actionPerformed(ActionEvent evt){
try{
String url=“jdbc:odbc:BDProposta”;
String usuario="";
String senha="";
String numProposta=c1.getText();
String titProposta=c4.getText();
Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver”);
Connection c;
c=DriverManager.getConnection(url,usuario,senha);
Statement st=c.createStatement();
ResultSet rs=st.executeQuery(“select * from Proposta where Número=’”+String.valueOf(numProposta)+"’");
if(){numProposta.equals("")
JOptionPane.showMessageDialog(null,;
“Campo obrigatório em branco!”,
“Aviso”,
JOptionPane.INFORMATION_MESSAGE)
c1.requestFocus();
}else if(){titProposta.equals("")
JOptionPane.showMessageDialog(null,;
“Campo obrigatório em branco!”,
“Aviso”,
JOptionPane.INFORMATION_MESSAGE)
c4.requestFocus();
}else if(){rs.next()
String numero=rs.getString(“Número”);
JOptionPane.showMessageDialog(null,;
“Número de proposta já cadastrado!”,
“Aviso”,
JOptionPane.INFORMATION_MESSAGE)
c1.setText("");c2.setText("");
c3.setText("");c4.setText("");
c5.setText("");c6.setText("");
c7.setText("");c8.setText("");
c9.setText("");c10.setText("");
textArea.setText("");
comboBox.setSelectedItem("");
c1.requestFocus();
}else{
st.executeUpdate(“insert into Proposta(Número,”+values(’”+
“Data_de_Entrada,Valor,Assunto,Responsável,Prazo,”+
“Interessado,Situação,Data_de_Contratação,”+
“Número_do_Processo,Verba,”+
“Andamento)c1.getText()+"’,"+
“’”+c2.getText()+"’,’"+c3.getText()+"’,"+
“’”+c4.getText()+"’,’"+c5.getText()+"’,"+
“’”+c6.getText()+"’,’"+c7.getText()+"’,"+
“’”+comboBox.getSelectedItem()+"’,"+
“’”+c8.getText()+"’,’"+c9.getText()+"’,"+
“’”+c10.getText()+"’,"+
“’”+textArea.getText()+"’)");
c1.setText("");c2.setText("");
c3.setText("");c4.setText("");
c5.setText("");c6.setText("");
c7.setText("");c8.setText("");
c9.setText("");c10.setText("");
textArea.setText("");
comboBox.setSelectedItem("");
int resposta;
resposta=JOptionPane.showConfirmDialog(null,;
“Proposta Cadastrada com Sucesso, Cadastrar Outra?”,
“Pergunta”,
JOptionPane.YES_NO_OPTION,
JOptionPane.QUESTION_MESSAGE)
c1.requestFocus();
if(resposta==1){
setVisible(false);
}
}
st.close();
c.close();
}
catch(Exception e){ // IMPLEMENTAR AS EXCEÇÕES CORRETAMENTE
JOptionPane.showMessageDialog(null,;
“Erro na conexão com o Banco de Dados!”,
“Erro”,
JOptionPane.ERROR_MESSAGE)
}
}
}[/color]
E utilizei vários ifs para a solução de dois problemas:
Para que o usuario não cadastre duas propostas com o mesmo número;
Para que o usuario não cadastre campos obrigatórios em branco;
mas sei que quanto menos if em meu código melhor!
deveria ter solucionado estes problemas com Exceções correto?
mas não sei criar as minhas classes de exceções.
Alguém poderia me indicar um livro que tratasse a fundo deste assunto?
ou se alguém tivesse uma apostila sobre exceções eu ficaria muito grato.
Desde já obrigado!
Cristiano