Alguem poderia me ajudar Estou precisando muito da solução desse erro.
tenho uma tela de cadastro de fornecedor e outra de contas a pagar consigo add uma conta a pagar tranquilamente mas na hora de alterar dá esse erro " String cannot be cast to " é no jcombobox que trago os fornecedores na tela de contas a pagar.
public TelaContaPagar() {
initComponents();
conexao = ModuloConexao.conector();
FornecedorDAO Fdao = new FornecedorDAO();
for (Fornecedor f : Fdao.read()) {
cboFornecedor.setSelectedItem(null);
cboFornecedor.addItem(f);
}
}
método alterar
private void alterar() {
String sql = "update tbl_contaspagar set descricao=?, pago=?, data_vencimento=?, especie=?, valor=?, idFornecedor=? where idContasP=?";
try {
pst = conexao.prepareStatement(sql);
String x = txtDataVenc.getText();
SimpleDateFormat formatador = new SimpleDateFormat("dd/MM/yyyy");
String str = x;
java.util.Date data = formatador.parse(str);
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
x = format.format(data);
//System.out.println(x);
Fornecedor fornecedor = (Fornecedor) cboFornecedor.getSelectedItem();
pst.setString(1, txtDesc.getText());
pst.setString(2, cboPago.getSelectedItem().toString());
pst.setString(3, x);
pst.setString(4, txtEspecie.getText());
pst.setString(5, txtValor.getText());
pst.setInt(6, fornecedor.getId());
pst.setString(7, txtCod.getText());
if ((txtDesc.getText().isEmpty()) || (txtDataVenc.getText().isEmpty()) || (txtValor.getText().isEmpty())) {
JOptionPane.showMessageDialog(null, "Preencha Todos os Campos Obrigatórios (*)");
} else {
// a linha abaixo atualiza a tabela de Usuarios com os dados do Formulário
// a estrutura abaixo é usada para confirmar a alteração de dados na tabel
int adicionado = pst.executeUpdate();
// a linha abaixo serve como entendimento da logica.
//System.out.println(adicionado);
if (adicionado > 0) {
JOptionPane.showMessageDialog(null, "Dados Alterado com Sucesso !!!");
// as linhas abaixo limpam os campos
txtCod.setText(null);
txtDesc.setText(null);
txtDataVenc.setText(null);
txtEspecie.setText(null);
txtPesquisar.setText(null);
txtValor.setText(null);
// Limpar campo combobox porem não é necessário, pode prejudicar o sistema
//cboUsoPerfil.setSelectedItem(null);
btnSave.setEnabled(true);
}
}
} catch (Exception e) {
JOptionPane.showMessageDialog(null, e);
}
}