Java.sql.Date cannot be cast to java.util.Calendar[resolvido]

ola gente estou tentando fazer uma conversao para fazer uma busca por data na janela listar vendas porem esta dando este erro na conversao o que posso mudar nesta conversao para parar o erro?

private Date dataquery(String data) throws ParseException{ // TODO Auto-generated method stub DateFormat forma = new SimpleDateFormat("dd/MM/yyyy"); java.util.Date dataf = new java.sql.Date(forma.parse(data).getTime()); return dataf; }

busca

if (f.getText().trim().equalsIgnoreCase("")) resultList= em.createQuery("from VendaProduto").getResultList(); else { Query consulta = em.createQuery("SELECT i FROM VendaProduto i WHERE i.data = :argumento"); // Adicionei aspas simples aqui try { consulta.setParameter("argumento",dataquery(f.getText().toUpperCase())); } catch (ParseException e) { // TODO Auto-generated catch block e.printStackTrace(); }

java.util.Date dataf = new java.util.Date(forma.parse(data).getTime());

ta dando erro nesta linha aqui agora

return dataf;

Que Date é esse, java.sql.Date ou java.util.Date ?

entao eu estou tentando fazer uma busca por data porem consegui converter calendar para string so que queria que a pessoa selecionasse a data
e mostrasse os registros daquele dia so que esta com erro , o erro que esta acontecendo é que a pessoa seleciona uma data
e tras a data atual tipo se eu seleciono dia 01 tras qualquer registro que esteja registrado mais nao é isso que quero e sim que pegue e
mostre o registro da data que foi selecionada o erro de date para calendar consegui arruma convertendo calendar para string agora é esse ai que ocorre alguem me ajuda o erro
esta ai na conversao e na query.

private Calendar dataquery(String data) throws ParseException{ // TODO Auto-generated method stub Calendar c = Calendar.getInstance(); SimpleDateFormat forma = new SimpleDateFormat("dd/MM/yyyy"); data = forma.format(c); return c; }

porem ainda esta retornando a data atual a qualquer valor que eu seleciono no calendario o que faço?

if ((f.getText().trim().equalsIgnoreCase(""))) resultList= em.createQuery("from VendaProduto").getResultList(); else { Query consulta = em.createQuery("SELECT i FROM VendaProduto i WHERE i.data = :argumento"); // Adicionei aspas simples aqui try { consulta.setParameter("argumento",dataquery(f.getText().toUpperCase())); } catch (ParseException e) { // TODO Auto-generated catch block e.printStackTrace(); } resultList= consulta.getResultList(); }

Faça o parser da String para um java.util.Date e depois seta essa data no seu Calendar.
Consulte o javadoc do Calendar: http://docs.oracle.com/javase/7/docs/api/java/util/Calendar.html