Senhores, sou muito leigo em programação, mas estou tentando fazer algo aqui para meu trabalho, porém estou com dificuldades para encontrar o problema. A princípio o código está todo ok e a conexão com o banco também, mas no momento que coloco os dados e tento salvar recebo o erro " For input string:"" ".
Estou usando o Netbeans IDE 8.2 e o MySQL.
Estrutura do banco:
id int(11) PK
selecao varchar(45)
cargo varchar(45)
nome varchar(45)
motivo varchar(45)
n_dias int(11)
data_inicio varchar(45)
destino varchar(240)
tel varchar(45)
EntradaDAO:
public void inserir(Entrada entrada) {
String sql = "INSERT INTO ENTRADA (selecao, posto_graduacao, nome_de_guerra, motivo, n_dias, data_inicio, destino, tel) VALUES (?,?,?,?,?,?,?,?)";
try
{
if(this.conexao.conectar())
{
try (
PreparedStatement ps = this.conexao.getConnection().prepareStatement(sql)) {
ps.setString(1, entrada.getSelecao());
ps.setString(2, entrada.getCargo());
ps.setString(3, entrada.getNome());
ps.setString(4, entrada.getMotivo());
ps.setInt(5, entrada.getN_dias());
ps.setString(6, entrada.getData_inicio());
ps.setString(7, entrada.getDestino());
ps.setString(8, entrada.getTel());
ps.execute();
}
this.conexao.getConnection().close();
}
}
catch(SQLException ex)
{
throw new RuntimeException(ex);
}
}
Código do botão salvar:
try
{
Entrada entrada = new Entrada();
entrada.setId(Integer.parseInt(campoId.getText()));
entrada.setSelecao((String) campoSelecao.getSelectedItem());
entrada.setCargo((String) campoCargo.getSelectedItem());
entrada.setNome(campoNome.getText());
entrada.setMotivo((String) campoMotivo.getSelectedItem());
entrada.setN_dias(Integer.parseInt(campoN_dias.getText()));
entrada.setData_inicio(campoData_inicio.getText());
entrada.setDestino(campoDestino.getText());
entrada.setTel(campoTel.getText());
EntradaDAO entradaDao = new EntradaDAO();
if(entrada.getId() == 0)
{
entradaDao.inserir(entrada);
JOptionPane.showMessageDialog(null, "Cadastro salva com sucesso!", "", INFORMATION_MESSAGE);
}
else
{
entradaDao.alterar(entrada);
JOptionPane.showMessageDialog(null, "Cadastro alterado com sucesso!", "", INFORMATION_MESSAGE);
}
limparDesabilitarCampos();
botaoSalvar.setEnabled(false);
atualizaTabela(entradaDao);
}
catch(HeadlessException | NumberFormatException ex)
{
JOptionPane.showMessageDialog(null, "Ocorreu um erro inesperado:\n" + ex.getMessage(), "ERRO!", ERROR_MESSAGE);
}
}
OBS: entrada.setSelecao((String) campoSelecao.getSelectedItem());
entrada.setCargo((String) campoCargo.getSelectedItem());
entrada.setMotivo((String) campoMotivo.getSelectedItem());
Esses são JComboBox
Se puderem me ajudar nessa empreitada vou ficar muito grato. Três semanas já quebrando a cabeça.