Olá.
Tenho um código que não está executando corretamente, ele não está carregando no banco de dados mysql porque está entrando na exceção. Favor verificar o código sabendo que coloquei somente os trechos que podem estar com erro. Obs.: O netbeans não acusa nada de erro nos programas, ele apenas entra na exceção do executeUpdate (primeiro trecho abaixo).
Se precisar, envio o código completo, mas acredito que com isso já é possível achar o erro.
Obrigado pela atenção.
public class Conexao{
public boolean executeUpdate(String sql) {
boolean retorno = false;
try{
Statement s = con.createStatement();
if(s.executeUpdate(sql)>0) retorno = true;
}catch(SQLException e){
System.out.println("** Exceção SQLException - 3**");
}
return retorno;
}
}
public class CadMedico{
private void btnSalvarActionPerformed(java.awt.event.ActionEvent evt) {
Connection connection =null;
Statement stmt = null;
String URL = "jdbc:mysql://localhost:3306/trabalhogb";
try {
Class.forName("com.mysql.jdbc.Driver").newInstance();
connection = DriverManager.getConnection(URL, "root", "pass");
stmt = connection.createStatement();
char sexo = 'M';
String nome = txtNome.getText();
int idade = Integer.parseInt(txtIdade.getText());
if(cmbSexo.getSelectedIndex()==0) sexo='M';
else {
if(cmbSexo.getSelectedIndex()==1) sexo = 'F';
else javax.swing.JOptionPane.showMessageDialog(null,"Escolha um sexo");
}
long crm = Long.parseLong(txtCRM.getText());
Medico m = new Medico(nome, idade, sexo, crm);
MedicoBD a = new MedicoBD();
boolean ret = a.cadastrar(m);
if(ret){
javax.swing.JOptionPane.showMessageDialog(null, "Cadastrado com sucesso!");
limparCampos();
}else{
javax.swing.JOptionPane.showMessageDialog(null, "Não cadastrou!");
}
}catch(NumberFormatException e){
javax.swing.JOptionPane.showMessageDialog(null,"O valor digitado em campo de número não é número.");
}catch(ClassNotFoundException e) {
javax.swing.JOptionPane.showMessageDialog(null,"Exceção: não encontrou a classe!");
}
catch(SQLException e){
javax.swing.JOptionPane.showMessageDialog(null,"Exceção: banco de dados");
System.out.println(e.getMessage());
}
catch(InstantiationException e){
javax.swing.JOptionPane.showMessageDialog(null,"Exceção: localização do BD");
}
catch(IllegalAccessException e){
javax.swing.JOptionPane.showMessageDialog(null,"Exceção: acesso ilegal");
}finally {// FINALLY VAI AQUI PORQUE ELE Ã? OBRIGADO A FAZER O FECHAMENTO DO BANCO DE DADOS
//fechar todas as conexões com o banco
try {
stmt.close();
connection.close();
}catch (SQLException e) {
javax.swing.JOptionPane.showMessageDialog(null,"Exceção : não conseguiu fechar");
}
}
}
}
public class MedicoBD{
public boolean cadastrar (Medico m){
String sql = "INSERT INTO medico (nome, idade, sexo, crm)";
sql = sql + "VALUES('"+m.getNome()+"','";
sql = sql + m.getIdade() + "','";
sql = sql + m.getSexo() + "','";
sql = sql + m.getCrm()+";";
Conexao c = new Conexao ();
c.openConnection();
boolean ret = c.executeUpdate(sql);
c.closeConnection();
return ret;
}
}