String para date jsp

3 respostas
Brunoleorj

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:

<%<a class="mention" href="/u/page">@page</a> import=“java.sql.<em>" %>,

<%<a class="mention" href="/u/page">@page</a> import="java.text.</em> %>

<%<a class="mention" href="/u/page">@page</a> import=“java.util.*” %>

<%<a class="mention" href="/u/page">@page</a> 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

3 Respostas

V

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…

Brunoleorj

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…

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+"’

tiaguinhooo

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 =)

Criado 5 de julho de 2006
Ultima resposta 6 de nov. de 2007
Respostas 3
Participantes 3