<%@ page language=“java” import=“java.sql.*” %>
<%
String url=“jdbc:odbc:monitor”;
Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver”);
Connection conn = DriverManager.getConnection(url, “”, “”);
int limit = 7; // quantidade de resultados por página
// obtém a quantidade de registros
PreparedStatement pstmt = conn.prepareStatement(
"SELECT COUNT(*) AS c FROM RAMAL where grupo = ‘hsbc pf’ ");
ResultSet rs = pstmt.executeQuery();
rs.next();
int total_rows = Integer.parseInt(rs.getString(“c”));
String pagina = request.getParameter(“pagina”); // página atual
if(pagina == null){
pagina = “1”;
}
int limitValue = (Integer.parseInt(pagina) * limit) - limit;
PreparedStatement pstmt2 = conn.prepareStatement(
"SELECT codigo, ramal, grupo FROM RAMAL where grupo = ‘hsbc pf’ order by ramal LIMIT " + limitValue + ", " + limit);
ResultSet rs2 = pstmt2.executeQuery();
while(rs2.next()) {
int id = rs2.getInt(“CODIGO”);
out.println("ID: " + id + “
”);
String nome = rs2.getString(“RAMAL”);
out.println("NOME: " + nome + “
”);
String idade = rs2.getString(“GRUPO”);
out.println("IDADE: " + idade + “
”);
}
int anterior;
if(Integer.parseInt(pagina) != 1){
anterior = Integer.parseInt(pagina) - 1;
out.println("<a href=?pagina=" + anterior + “>” + limit + " Anteriores");
}
else
out.println(limit + " Anteriores ");
int numOfPages = total_rows / limit;
int i;
for(i = 1; i <= numOfPages; i++){
if(i == Integer.parseInt(pagina)){
out.println("" + i + " “);
}
else{
out.println(”<a href=?pagina=" + i + “>” + i + " ");
}
}
if((total_rows % limit) != 0){
if(i == Integer.parseInt(pagina)){
out.println(i + " “);
}
else{
out.println(”<a href=?pagina=" + i + “>” + i + " ");
}
}
int proxima;
if((total_rows - (limit * Integer.parseInt(pagina))) > 0){
proxima = Integer.parseInt(pagina) + 1;
out.println("<a href=?pagina=" + proxima + ">Próximos " + limit + “”);
}
else
out.println("Próximos " + limit);
%>
Erro:
HTTP Status 500 -
type Exception report
message
description The server encountered an internal error () that prevented it from fulfilling this request.
exception
org.apache.jasper.JasperException: Exception in JSP: /index.jsp:32
29:
30: int limitValue = (Integer.parseInt(pagina) * limit) - limit;
31:
32: PreparedStatement pstmt2 = conn.prepareStatement(
33: "SELECT codigo, ramal, grupo FROM RAMAL where grupo = ‘hsbc pf’ order by ramal LIMIT " + limitValue + ", " + limit);
34: ResultSet rs2 = pstmt2.executeQuery();
35:
Stacktrace:
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:504)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:375)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:368)
root cause
javax.servlet.ServletException: [Microsoft][Driver ODBC para Microsoft Access] Erro de sintaxe (operador faltando) na expressão de consulta ‘ramal LIMIT 0’.
org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:858)
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:791)
org.apache.jsp.index_jsp._jspService(index_jsp.java:135)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:332)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:368)
root cause
java.sql.SQLException: [Microsoft][Driver ODBC para Microsoft Access] Erro de sintaxe (operador faltando) na expressão de consulta ‘ramal LIMIT 0’.
sun.jdbc.odbc.JdbcOdbc.createSQLException(JdbcOdbc.java:6958)
sun.jdbc.odbc.JdbcOdbc.standardError(JdbcOdbc.java:7115)
sun.jdbc.odbc.JdbcOdbc.SQLPrepare(JdbcOdbc.java:4831)
sun.jdbc.odbc.JdbcOdbcConnection.prepareStatement(JdbcOdbcConnection.java:475)
sun.jdbc.odbc.JdbcOdbcConnection.prepareStatement(JdbcOdbcConnection.java:443)
org.apache.jsp.index_jsp._jspService(index_jsp.java:74)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:332)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:368)
note The full stack trace of the root cause is available in the Apache Tomcat/5.5.17 logs.
Apache Tomcat/5.5.17
Agradeço aos amigos pela ajuda.
Valmir Lopes