Boa tarde!.. Sou bem iniciante no mundo dos códigos e desde já vou agradecer toda ajuda e conselhos que tiver…
Estou preparando um sistema simples para aprendizado apenas… Estou importando os registros de departamentos salvos na tabela caddepartamento no BD Postgre trazendo para uma ComboBox para quando selecionar o departamento salvar a informação na tabela cadusuario, porém quando vou salvar os dados de usuário eu tenho o erro no ResultSet.
Esse é meu método executaSql:
public void executaSql(String sql) {
try {
stm = condb.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE , ResultSet.CONCUR_READ_ONLY);
rst = stm.executeQuery(sql);
} catch (SQLException ex) {
JOptionPane.showMessageDialog(null , ex.getMessage());
}
}
Fiz os métodos Get e Set normalmente e escrevi o método para inserir os dados de usuário no BD:
public void InserirUsuario (ModeloCadUsuario mod) {
conn.conecta(); //Inicia a conexão
try {
PreparedStatement pst = conn.condb.prepareStatement(" insert into cadastrousuario ( id_user , sit_user , nome_user , apel_user , sen_user , dep_user , aces_user ) values ( ?,?,?,?,?,?,? )");
pst.setInt ( 1 , mod.getIdentificadorUsuario());
pst.setString( 2 , mod.getSituacaoUsuario());
pst.setString( 3 , mod.getNomeUsuario());
pst.setString( 4 , mod.getApelidoUsuario());
pst.setString( 5 , mod.getSenhaUsuario());
pst.setInt ( 6 , mod.getDepartamentoUsuario());
pst.setString( 7 , mod.getTipoacessoUsuario());
pst.execute();
JOptionPane.showMessageDialog(null , "Registro de Usuário salvo com sucesso!");
} catch (SQLException ex) {
JOptionPane.showMessageDialog(null , ex.getMessage());
}
conn.desconecta();
}
}
Então programei o botão salvar - lembrando que o campo Departamento será um registro vindo do BD da tabela caddepartamento salvando o código int na cadusuario:
private void jButtonCadUsuarioSalvarActionPerformed(java.awt.event.ActionEvent evt) {
try {
ModeloCadUsuario modUser = new ModeloCadUsuario();
modUser.setIdentificadorUsuario(Integer.parseInt(jTextFieldCadUsuarioIdentificador.getText()));
modUser.setSituacaoUsuario((String)jComboBoxCadUsuarioSituacao.getSelectedItem());
modUser.setNomeUsuario(jTextFieldCadUsuarioNome.getText());
modUser.setApelidoUsuario(jTextFieldCadUsuarioApelido.getText());
modUser.setSenhaUsuario(jTextFieldCadUsuarioSenha.getText());
modUser.setTipoacessoUsuario((String)jComboBoxCadUsuarioTipoAcesso.getSelectedItem());
condatabase.executaSql(" select * from cadastrodepartamento where departamentonome = ' " + jComboBoxCadUsuarioDepartamento.getSelectedItem() + " ' ");
condatabase.rst.first();
modUser.setDepartamentoUsuario(condatabase.rst.getInt("departamentoid"));
ControleUsuario controlUser = new ControleUsuario();
controlUser.InserirUsuario(modUser);
} catch (SQLException ex) {
JOptionPane.showMessageDialog(null , ex.getMessage());
}
}
Então eu tenho meu erro no ResultSet… Desculpe o tamanho do tópico, mas quem puder ajudar com uma explicação de como resolver, agradeço bastante. Vlw Galera!