String para date jsp

Estou com o seguinte problema: não estou conseguindo realizar uma busca no bd onde a condição é um campo do tipo date.Tentei fazer a conversão de string para date poém ao realizar a busca retirna o seguinte erro:

org.apache.jasper.JasperException: Exception in JSP: /relatorio.jsp:25

22: Connection con=DriverManager.getConnection(“jdbc:odbc:siscat”);
23: Statement stm= con.createStatement();
24: String sql=“SELECT distinct sum(desistencia), sum(opcao1) from ligacao where dia=’”+variavel+"’";
25: ResultSet rs= stm.executeQuery(sql);
26: while (rs.next()){
27:
28: out.println(rs.getString(1));

e aqui esta o codigo:

<%@page import=“java.sql." %>,
<%@page import="java.text.
” %>
<%@page import=“java.util.*” %>
<%@page import=“java.util.Date” %>

JSP Page <% String x= request.getParameter("data"); SimpleDateFormat formatador = new SimpleDateFormat("dd/MM/yyyy"); Date variavel = formatador.parse(x);

Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver”);
Connection con=DriverManager.getConnection(“jdbc:odbc:siscat”);
Statement stm= con.createStatement();
String sql=“SELECT distinct sum(desistencia), sum(opcao1) from ligacao where dia=’”+variavel+"’";
ResultSet rs= stm.executeQuery(sql);
while (rs.next()){

 out.println(rs.getString(1));
 out.println("<br>");
 out.println(rs.getString(2));
 out.println("<br>");   

}

%>




</body>
Gostaria de saber como resolver esse problema

Vc testou seu select para ver se ele esta correto ?, tente usar yyyy/MM/dd ao inves de dd/MM/yyyy.

Qual banco vc está usando ?

:slight_smile: qualquer coisa tamo ai na parada…

[quote=vinnymaran]Vc testou seu select para ver se ele esta correto ?, tente usar yyyy/MM/dd ao inves de dd/MM/yyyy.

Qual banco vc está usando ?

:slight_smile: qualquer coisa tamo ai na parada…[/quote]

eu estou usando o sql server 2000
eu testei o sql dentro do sql server e funcionou sim!

a minha duvida é se a minha query no JSP esta correta:
String sql="SELECT distinct sum(desistencia), sum(opcao1) from ligacao where dia=’"+variavel+"’";

eu acho que o problema esta aqui ‘"+variavel+"’

cara utiliza java.sql.date ta depreciado mais nunca deu problema comigo eu testei seu codigo ta dando errado mesmo ai eu fiz assim da um poko de trabaiu mais funfou

&lt;%@page import="java.sql.*" %&gt;, 
&lt;%@page import="java.text.*" %&gt; 
&lt;%@page import="java.util.*" %&gt; 
&lt;%@page import="java.util.Date" %&gt; 




&lt;html&gt; 
&lt;head&gt; 
&lt;meta http-equiv="Content-Type" content="text/html; charset=UTF-8"&gt; 
&lt;title&gt;JSP Page&lt;/title&gt; 
&lt;/head&gt; 
&lt;body&gt; 
&lt;% 
String x= request.getParameter("data"); 

String d = "", m= "", a="";
    d=x.substring(0, 2);
    m=x.substring(3, 5);
    a=x.substring(6, 10);
   
    int dia = Integer.parseInt(d);
    int mes = Integer.parseInt(m) - 1;
    int ano = Integer.parseInt(a) - 1900;
Date data = new Date(ano,mes,dia);
//como vc viu neh ele deixa a data yyyy/mm/dd

//SimpleDateFormat formatador = new SimpleDateFormat("dd/MM/yyyy"); 
//Date variavel = formatador.parse(x); 

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); 
Connection con=DriverManager.getConnection("jdbc:odbc:siscat"); 
Statement stm= con.createStatement(); 
String sql="SELECT distinct sum(desistencia), sum(opcao1) from ligacao where dia='"+data+"'"; 
ResultSet rs= stm.executeQuery(sql); 
while (rs.next()){ 

out.println(rs.getString(1)); 
out.println("&lt;br&gt;"); 
out.println(rs.getString(2)); 
out.println("&lt;br&gt;"); 
} 

%&gt; 




&lt;/body&gt; 
&lt;/html&gt; 

espero ter ajudado blz cara falow pois so novo nesse negocio ae =)