Olá pessoal,
Eu pesquisei muito no forum antes de postar essa dúvida, encontrei muita coisa a respeito da classe SimpleDateFormat mas não consegui aplicar os exemplos ao meu código.
Meu problema é o seguinte:
- Eu tenho um método chamado pesquisar() que alimenta um jtable com base num SQL. A questão é que tenho campos que são do tipo data só que é exibido no formato yyyy/mm/dd
tentei implementar um exemplo que peguei no forum da seguinte forma:
Exemplo original:
[code]SimpleDateFormat sdf = new SimpleDateFormat(“dd/MM/yyyy”);
Date now = new Date();
String dateAsString = sdf.format(now);
System.out.println(dateAsString); [/code]
e tentei aplicar no meu código para efeito de testes da seguinte forma:
[code]public void pesquisar() {
StringBuilder qryPesquisa = new StringBuilder();
try {
//Insere a descrição das colunas na table.
String[] colunasTabela = new String[]{"Código","Razão Social","Fantasia",
"Tipo Pessoa","CPF/CNPJ","Endereço",
"Tel","Fax","I.E","Classif.Fiscal",
"Data Cadastro","Data Abertura/Nascimento",
"Limite Crédito","CEP" };
//Cria um model para definir o cabeçalho da table
model = new DefaultTableModel(null, colunasTabela);
qryPesquisa.append(" SELECT");
qryPesquisa.append(" tcodigo_pk,");
qryPesquisa.append(" trazao_social,");
qryPesquisa.append(" tnome_fantasia,");
qryPesquisa.append(" ttipo_pessoa_chk,");
qryPesquisa.append(" tnumero_doc_cpf_cnpj,");
qryPesquisa.append(" tendereco,");
qryPesquisa.append(" tnumero_telefone,");
qryPesquisa.append(" tnumero_fax,");
qryPesquisa.append(" tinscricao_estadual,");
qryPesquisa.append(" tclassificacao_fiscal_fk,");
qryPesquisa.append(" tdata_cadastro,");
qryPesquisa.append(" tdata_fund_ou_nascimento,");
qryPesquisa.append(" tlimite_credito,");
qryPesquisa.append(" tcidade_fk");
qryPesquisa.append(" FROM ");
qryPesquisa.append(" contas_a_receber.tcliente");
tbPesquisaCliente.setModel(model);
switch(cbFiltro.getSelectedIndex()){
case 0:
qryPesquisa.append(" where trazao_social ~* "+"'"+tfFiltro.getText()+"'");
qryPesquisa.append(" order by trazao_social ");
break;
case 1:
qryPesquisa.append(" where tnome_fantasia ~* "+"'"+tfFiltro.getText()+"'");
qryPesquisa.append(" order by tnome_fantasia ");
break;
case 2:
qryPesquisa.append(" where tnumero_doc_cpf_cnpj = "+"'"+tfFiltro.getText()+"'");
break;
}
conexao.Conexao();
conexao.executeSQL(qryPesquisa.toString());
//Alimenta a table com os registros provinientes do banco de dados.
while (conexao.rs.next()){
model.addRow(new Object[] {
conexao.rs.getInt("tcodigo_pk"),
conexao.rs.getString("trazao_social"),
conexao.rs.getString("tnome_fantasia"),
conexao.rs.getString("ttipo_pessoa_chk"),
conexao.rs.getString("tnumero_doc_cpf_cnpj"),
conexao.rs.getString("tendereco"),
conexao.rs.getString("tnumero_telefone"),
conexao.rs.getString("tnumero_fax"),
conexao.rs.getString("tinscricao_estadual"),
conexao.rs.getString("tclassificacao_fiscal_fk"),
conexao.rs.getDate("tdata_cadastro"),
conexao.rs.getDate("tdata_fund_ou_nascimento"),
conexao.rs.getDouble("tlimite_credito"),
conexao.rs.getString("tcidade_fk")
});
}
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
Date now = new Date();
String dateAsString = sdf.format(conexao.rs.getDate("tdata_cadastro"));
System.out.println(dateAsString);
tbPesquisaCliente.setRowSelectionInterval(0, 0);
tbPesquisaCliente.requestFocus();
tipoTransacao=1;
} catch(Exception e){
JOptionPane.showMessageDialog(null, "Falhas na pesquisa");
}
}[/code]
Desta forma queria verificar se o que seria impresso pelo método println era justamente a data formatada, mas em tempo de execução o código cai na exceção no momento que passa pela linha 84.
Caso alguém possa me ajudar agradeço.