Acho que o título é autoexplicativo. Tenho uma tela com vários campos (textFields), mas se o usuário nao preenche todos, na hora de salvar (enviar ao banco) dá erro. Como devo proceder? Já habilitei o “not null” no banco e nao muda nada.
Deixo aqui alguns trechos do código para os companheiros analisarem, se precisarem de mais é só pedir.
Insercao dos dados no banco:
public void Salvar (ModeloPruebasArenaEnVerde mod) {
try {
conex.conectar();
PreparedStatement pst = conex.con.prepareStatement(“insert into pruebas_arena_verde(compactabilidad_arena_verde, humedad_arena_verde, rcv_arena_verde, rth_arena_verde, friabilidad_arena_verde, permeabilidad_arena_verde, especimen_arena_verde, analista_arena_verde, temperatura_arena_verde) values (?, ?, ?, ?, ?, ?, ?, ?, ?)”);
Texto pré-formatado pst.setDouble(1, mod.getCompactabilidad());
pst.setDouble(2, mod.getHumedad());
pst.setDouble(3, mod.getRcv());
pst.setDouble(4, mod.getRth());
pst.setDouble(5, mod.getFriabilidad());
pst.setDouble(6, mod.getPermeabilidad());
pst.setDouble(7, mod.getEspecimen());
pst.setString(8, mod.getAnalista());
pst.setDouble(9, mod.getTemperatura());
pst.execute();
JOptionPane.showMessageDialog(null, "Dados inseridos com sucesso!");
} catch (SQLException ex) {
JOptionPane.showMessageDialog(null, "Erro ao inserir dados!" +ex);
}
Botao salvar:
mod.setCompactabilidad(Double.parseDouble(jTextFieldCompactabilidadArenaEnVerde.getText()));
mod.setFriabilidad(Double.parseDouble(jTextFieldFriabilidadArenaEnVerde.getText()));
mod.setRcv(Double.parseDouble(jTextFieldRCVArenaEnVerde.getText()));
mod.setRth(Double.parseDouble(jTextFieldRTHArenaEnVerde.getText()));
mod.setPermeabilidad(Double.parseDouble(jTextFieldPermeabilidadArenaEnVerde.getText()));
mod.setEspecimen(Double.parseDouble(jTextFieldEspecimenArenaEnVerde.getText()));
mod.setHumedad(Double.parseDouble(jTextFieldHumedadArenaEnVerde.getText()));
mod.setAnalista((String) jComboBoxTelaArenaEnVerdeAnalista.getSelectedItem());
control.Salvar(mod);
Obs: Há coisas em espanhol porque nao moro no Brasil.