Resultset Nao esta Posicionado corretamente
Alguém pode me ajudar com esse código
Estou com problemas com essa mensagem ao preencher o ArrayList e salvar no banco de dados o formulário
org.postgresql.util.PSQLException: ResultSet não está posicionado corretamente, talvez você precise chamar next
public class FrmFornecedor extends javax.swing.JFrame {
ConectaBanco conn = new ConectaBanco();
ModeloFornecedor mod = new ModeloFornecedor();
ControleFornecedor control = new ControleFornecedor ();
int muda = 1;
public FrmFornecedor() {
initComponents();
preencherCombo();
conn.conexao();
preencherTabela("select * from fornecedores inner join intens_tel_forn on fornecedores.id_fornecedor=intens_tel_forn.id_fornecedor inner join telefone on intens_tel_forn.id_te=telefone.id_telefone");
private void jButtonSalvarActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
if(muda==1){
mod.setNome(jTextFieldNome.getText());
mod.setEndereco(jTextFieldEnd.getText());
mod.setCNPJ(jFormattedTextFieldCNPJ.getText());
mod.setBairro((String) jComboBoxBairro.getSelectedItem());
//mod.setTelefone((String) jFormattedTextFieldTel.getText());
control.Salvar(mod);
jTextFieldNome.setEnabled(!true);
jTextFieldEnd.setEnabled(!true);
jTextFieldNome.setText("");
jTextFieldEnd.setText("");
jTextFieldID.setText("");
jFormattedTextFieldCNPJ.setText("");
//jFormattedTextFieldTel.setText("");
jFormattedTextFieldCNPJ.setEnabled(!true);
//jFormattedTextFieldTel.setText("");
jButtonSalvar.setEnabled(!true);
jButtonNovo.setEnabled(!false);
preencherTabela("select * from fornecedores inner join intens_tel_forn on fornecedores.id_fornecedor=intens_tel_forn.id_fornecedor inner join telefone on intens_tel_forn.id_te=telefone.id_telefone");
} else {
mod.setNome(jTextFieldNome.getText());
mod.setEndereco(jTextFieldEnd.getText());
mod.setCNPJ(jFormattedTextFieldCNPJ.getText());
mod.setBairro((String) jComboBoxBairro.getSelectedItem());
control.Alterar(mod);
jTextFieldNome.setEnabled(!true);
jTextFieldEnd.setEnabled(!true);
jTextFieldNome.setText("");
jTextFieldEnd.setText("");
jTextFieldID.setText("");
jFormattedTextFieldCNPJ.setEnabled(!true);
jButtonSalvar.setEnabled(!true);
jButtonNovo.setEnabled(!false);
preencherTabela("select * from fornecedores inner join intens_tel_forn on fornecedores.id_fornecedor=intens_tel_forn.id_fornecedor inner join telefone on intens_tel_forn.id_te=telefone.id_telefone");
}
}
public void preencherTabela(String SQL) {
ArrayList dados = new ArrayList();
String[] Colunas = new String[]{"ID", "Nome", "CNPJ","Telefone"};
conn.executaSQL(SQL);
try {
conn.rs.first();
do {
dados.add(new Object[]{conn.rs.getInt("id_fornecedor"), conn.rs.getString("nome_fornecedor"), conn.rs.getString("cnpj_fornecedor"), conn.rs.getString("numero_tel")});
} while (conn.rs.next());
} catch (SQLException ex) {
JOptionPane.showMessageDialog(null, "Erro ao preencher o ArrayList!\n ERRO: " + ex);
}
ModeloTabela modelo = new ModeloTabela(dados, Colunas);
tabela.setModel(modelo);
tabela.getColumnModel().getColumn(0).setPreferredWidth(90);
tabela.getColumnModel().getColumn(0).setResizable(false);
tabela.getColumnModel().getColumn(1).setPreferredWidth(200);
tabela.getColumnModel().getColumn(1).setResizable(false);
tabela.getColumnModel().getColumn(2).setPreferredWidth(131);
tabela.getColumnModel().getColumn(2).setResizable(false);
tabela.getColumnModel().getColumn(3).setPreferredWidth(100);
tabela.getColumnModel().getColumn(3).setResizable(false);
tabela.getTableHeader().setReorderingAllowed(false);
tabela.setAutoResizeMode(tabela.AUTO_RESIZE_OFF);
tabela.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
}
public class ControleFornecedor {
ModeloFornecedor mod = new ModeloFornecedor();
ConectaBanco conn = new ConectaBanco();
ConectaBanco connAux = new ConectaBanco();
int codBairro, codTel;
public void Salvar(ModeloFornecedor mod) {
AchaBairro(mod.getBairro());
AchaTelefone(mod.getTelefone());
conn.conexao();
try {
PreparedStatement pst = conn.conn.prepareStatement("insert into fornecedores(nome_fornecedor, endereco,id_bairro,cnpj_fornecedor) values(?,?,?,?)");
pst.setString(1, mod.getNome());
pst.setString(2, mod.getEndereco());
pst.setInt(3, codBairro);
pst.setString(4, mod.getCNPJ());
pst.execute();
/*atualiza a tabela intens_tel_forn*/
conn.executaSQL("select * from telefone where numero_tel='" +mod.getTelefone()+" ' ");
conn.rs.first();
codTel = conn.rs.getInt("id_telefone");
conn.executaSQL("select * from fornecedores where nome_fornecedor='" + mod.getNome() + " ' ");
conn.rs.first();
int codForn = conn.rs.getInt("id_fornecedor");
pst = conn.conn.prepareStatement("insert into intens_tel_for(id_fornecedor, id_te) values(?,?)");
pst.setInt(1, codTel);
pst.execute();
JOptionPane.showMessageDialog(null, "Dados inseridos com sucesso!");
} catch (SQLException ex) {
//Logger.getLogger(ControleFornecedor.class.getName().log(Level.SEVERE, null, ex);
JOptionPane.showMessageDialog(null, "Erro na inserção do fornecedor! \nErro:" + ex);
}
conn.desconecta();
}
public void AchaBairro(String bairro) {
conn.conexao();
try {
conn.executaSQL("select * from bairro where nome_bairro='" + bairro + "'");
/*conn.executaSQL("select * from bairro where nome_bairro='" + mod.getBairro()+ "'");*/
conn.rs.first();
codBairro = conn.rs.getInt("id_bairro");
} catch (SQLException ex) {
JOptionPane.showMessageDialog(null, "Erro ao buscar codigo do bairro! \nErro:" + ex);
}
//conn.desconecta();
}
public void AchaTelefone(String telefone){
try {
conn.executaSQL("select * from telefone where numero_tel='" + telefone + "'");
conn.rs.first();
codTel = conn.rs.getInt("id_telefone");
} catch (SQLException ex) {
}Discussão (0)
Carregando comentários...