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 ?
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 ?
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
<%@page import="java.sql.*" %>,
<%@page import="java.text.*" %>
<%@page import="java.util.*" %>
<%@page import="java.util.Date" %>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JSP Page</title>
</head>
<body>
<%
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("<br>");
out.println(rs.getString(2));
out.println("<br>");
}
%>
</body>
</html>
espero ter ajudado blz cara falow pois so novo nesse negocio ae =)