Não estou conseguindo puxar do banco de dados datas que entraram pelo JDateChooser. Se alguém já teve o mesmo problema e conseguiu resolver peça ajuda e agradeço desde já.
Não entendi muito bem oque você quer pode ser mais claro dando detalhes? quer chamar essa data ao clicar em um botão ou ao abrir o form ta usando oque swing?
Amigo, vc poderia colocar seu código aqui, fica bem mais fácil de alguém ajudar.
OK. Vamos lá! Implementei três JDateChooser (Data de Lançamento, de Vencimento e de Pagamento) no meu JFrame. No botão Inserir (“INSERT INTO e blá blá blá…”) fiz a separação e talz para conseguir cadastrar no BD:
`//PEGA DATA DE LANÇAMENTO DO JDATECHOOSER
int anoLan = dtLancamento.getCalendar().get(Calendar.YEAR);
int mesLan = dtLancamento.getCalendar().get(Calendar.MONTH);
int diaLan = dtLancamento.getCalendar().get(Calendar.DAY_OF_MONTH);
String dataLancamento = anoLan+"-"+mesLan+"-"+diaLan;`
Blz o botão Inserir funciona de Boas. Mas o botão de pesquisar(“SELECT…”) não.
Segue o código:
public void pesquisaAnterior(){
/*
//CÓDIGO DO BOTÃO INSERIR
//PEGA DATA DE LANÇAMENTO DO JDATECHOOSER
int anoLan = dtLancamento.getCalendar().get(Calendar.YEAR);
int mesLan = dtLancamento.getCalendar().get(Calendar.MONTH);
int diaLan = dtLancamento.getCalendar().get(Calendar.DAY_OF_MONTH);
String dataLancamento = anoLan+"-"+mesLan+"-"+diaLan;
//PEGA DATA DE VENCIMENTO DO JDATECHOOSER
int anoVen = dtVencimento.getCalendar().get(Calendar.YEAR);
int mesVen = dtVencimento.getCalendar().get(Calendar.MONTH);
int diaVen = dtVencimento.getCalendar().get(Calendar.DAY_OF_MONTH);
String dataVencimento = anoVen+"-"+mesVen+"-"+diaVen;
//PEGA DATA DE PAGAMENTO DO JDATECHOOSER
int anoPag = dtPagamento.getCalendar().get(Calendar.YEAR);
int mesPag = dtPagamento.getCalendar().get(Calendar.MONTH);
int diaPag = dtPagamento.getCalendar().get(Calendar.DAY_OF_MONTH);
String dataPagamento = anoPag+"-"+mesPag+"-"+diaPag;
*/
int aux = 1;
if (fieldCodigo.getText().equals("")){
JOptionPane.showMessageDialog(null, "Carregue um conta para navegar");
} else {
aux = Integer.valueOf(fieldCodigo.getText());
if (aux<=1){
JOptionPane.showMessageDialog(null, "Não é possível voltar!!!");
} else {
try{
aux--;
//abrindo conexão com banco
con = ConectaBD.conectabd();
Statement stm = con.createStatement();
java.sql.Statement st = con.createStatement();
for (int i = 0; i < 1;){
//query de consulta
st.executeQuery("select * from conta_pagar where ctpagar_id = "+aux+";");
ResultSet rS = st.getResultSet();
//consulta usuário
while (rS.next()) {
fieldCodigo.setText(rS.getString("ctpagar_id"));
fieldNumeroDoc.setText(rS.getString("num_fatura"));
fieldCodBarras.setText(rS.getString("cod_barra"));
fieldCedente.setText(rS.getString("cedente"));
fieldCnpj.setText(rS.getString("cnpj"));
fieldContato.setText(rS.getString("fone"));
//PARTE ONDE DÁ O ERRO
//FIZ SO O DATA DE LANCAMENTO PRA TESTAR
String dt = rS.getText("dt_lancamento");
String formato = new SimpleDateFormat("dd/MM/yyyy").format(dt);
dt.setCalendar(rS.getCalendar(formato));
dtVencimento.setText(rS.getString("dt_vencimento"));
fieldDiasAtraso.setText(rS.getString("dias_atraso"));
fieldValorMulta.setText(rS.getString("cep"));
fieldJuros.setText(rS.getString("juros"));
fieldValorConta.setText(rS.getString("valor_conta"));
dtPagamento.setText(rS.getString("dt_pagamento"));
fieldDesconto.setText(rS.getString("email"));
fieldTotalPagar.setText(rS.getString("email"));
fieldNatureza.setText(rS.getString("email"));
fieldObservacao.setText(rS.getString("email"));
}
aux--;
if (fieldCodigo.getText().equals("1")){
i++;
}
}
con.close();
}
catch (SQLException | ClassNotFoundException e) {
JOptionPane.showMessageDialog(rootPane, e);
}
catch (Exception e) {
e.printStackTrace();
}
}
}
}
//FIM DO MÉTODO pesquisaAnterior()
Amigo não sei se não tem como, mas reparei que vc colocou uma variavel dentro da query.
o campo ctpagar_id é uma chave estrangeira?
caso for coloque da seguinte forma
select * from conta_pagar where ctpagar_id = CAMPO CORRESPONDENTE A KEY