datetime
Tenta assim:
Timestamp timestampIN = resultSet.getTimestamp("CADASTRAMENTO");
mod.setDataIN(new java.util.Date(timestampIN.getTime()));
Não mande a imagem do código. Copie e cole o código para facilitar.
Quando estiver dando algum erro, diga qual foi. Não dá para saber exatamente o problema soh com a imagem.
De qual pacote é essa classe Timestamp que vc está usando?
putz…Desculpa man. sou novo nisso…rsrs.
A
Tranquilo. Digo msm para já ir acostumando e agilizando para os dois lados (o seu e das pessoas que podem te ajudar).
Mas então, essa classe que tu usou Timestamp, é do pacote java.sql? E onde vc declarou esse resultSet? Não deveria ser conex.rs.getTimestamp ?
Lucas eu consegui trazer na tela a data convertida, mas nao consigo fazer o filtro das datas. Vc tem uma ideia de como posso fazer?
Ja tentei:
PreparedStatement pst = conex.con.prepareStatement("select FILIAL,CLIENTE_VAREJO,CPF_CGC,DDD,TELEFONE,DDD_CELULAR,CELULAR,email,convert(varchar(10),cadastramento,103) as 'CADASTRAMENTO'from CLIENTES_VAREJO where FILIAL like '%"+mod.getPesquisa()+"%' and cadastramento ? and ?");
“?” and “?”
O sql parece que está errado nessa parte:
and cadastramento ? and ?
Acho que faltou o between:
AND cadastramento BETWEEN ? AND ?
coloquei o sql dessa forma
select FILIAL,CLIENTE_VAREJO,CPF_CGC,DDD,TELEFONE,DDD_CELULAR,CELULAR,email,convert(varchar(10),cadastramento,103) as 'CADASTRAMENTO’from CLIENTES_VAREJO where FILIAL like ‘%"+mod.getPesquisa()+"%’ and cadastramento between ? and ?
ele retornou
Unexpected parameter marker at position 206
Vc setou os parâmetros no PreparedStatement? Ex.:
PreparedStatement pst = // aqui é criado o prepared statement
pst.setDate(1, <<data início vem aqui>>);
pst.setDate(2, <<data final vem aqui>>);
bom dia, sim .
mas Lucas tem algo errado…kkkk seu deixar so o campo de filial no sql ele me traz a data ja convertida na data que preciso.
mas quando tento trazer mais o campo de data ele diz que não consegue converter
oque acha que pode ser;
Não entendi. Vc diz:
E depois
Como assim, trazer mais? Pelo que vi, o select eh o mesmo, com diferença apenas no where.
o filtro que faço é no select ceto? exemplo:
("select FILIAL,CLIENTE_VAREJO,CPF_CGC,DDD,TELEFONE,DDD_CELULAR,CELULAR,email,convert(varchar(10),cadastramento,103) as 'CADASTRAMENTO'from CLIENTES_VAREJO where FILIAL like '%"+mod.getPesquisa()+"%'");
agora se eu adicionar mais campos que seria a data ele reclama de conversão. EX:
("select FILIAL,CLIENTE_VAREJO,CPF_CGC,DDD,TELEFONE,DDD_CELULAR,CELULAR,email,convert(varchar(10),cadastramento,103) as 'CADASTRAMENTO'from CLIENTES_VAREJO where FILIAL like '%"+mod.getPesquisa()+"%' and cadastramento between '?' and '?'");
eu posso te mandar o print pra ficar so mais fácil de explicar?
Ah mano, agora que reparei nesse convert que tu faz:
convert(varchar(10),cadastramento,103)
Não precisa disso não. O correto é retornar a data na forma como ela é armazenada, com isso, ao converter para um objeto Date no java, deve funcionar.
E vc está usando os parâmetros do preparedStatement errado. Não precisa dessas aspas nas interrogações do between. A ideia dessas interrogaações na sua consulta é para evitar fazer concatenações da forma como vc está fazendo. Mude sua consulta para ficar assim:
String query = "SELECT FILIAL, CLIENTE_VAREJO, CPF_CGC, DDD, TELEFONE, DDD_CELULAR, CELULAR, email, cadastramento from CLIENTES_VAREJO where FILIAL like ? and cadastramento between ? and ?";
Viu como fica mais limpo. Bem melhor do que usar concatenação. E para setar os parâmetros, basta fazer isso:
PreparedStatement pst = connection.prepareStatement(query);
pst.setString(1, "%" + mod.getPesquisa() + "%");
pst.setDate(2, <<data início vem aqui como java.sql.Date>>);
pst.setDate(3, <<data final vem aqui como java.sql.Date>>);
select FILIAL,CLIENTE_VAREJO,CPF_CGC,DDD,TELEFONE,DDD_CELULAR,CELULAR,email,convert(varchar(10),cadastramento,103) as 'CADASTRAMENTO’from CLIENTES_VAREJO where FILIAL like ‘%"+mod.getPesquisa()+"%’");
estou usando esse comando no sql ai a data esta convertida no campo cadastro certo?
Entendi, mas o certo é recuperar a data do jeito que está no banco e depois formatar no código java para o formato que tu precisar.