Bom dia para todos
Estou fazendo uma pagina que recebe o resultado de uma consulta. nessa pagina tenho que fazer uma paginação, o erro que da é esse:
"Falha na conexão! Erro: null " o codigo fonte é esse:
import java.io.*;
import java.net.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.sql.*;
public class consultadados extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
out.println("<center>");
out.println("<a href=index.jsp>Nova Consulta</a");
out.println("<hr>");
out.println("</center>");
out.println("<html>");
out.println("<head>");
out.println("<title>Listagem por Estado</title>");
out.println("</head>");
out.println("<body>");
out.println("<form name=\"pagina\" action=\"/email/consultadados\" >");
out.println("<center>");
out.println("<table border=1 style=border-collapse:collapse>");
out.println("<tr>");
out.println(" ");
out.println("<td> Nome/Razão Social</td>");
out.println("<td> Apelido/Nome Fantasia </td>");
out.println("<td> Cidade </td>");
out.println("<td> Estado </td>");
out.println("</tr>");
String apelidofantasia = request.getParameter("campoconsultaapelido");
String nomerazao = request.getParameter("campoconsultanomerazao");
String estado = request.getParameter("campoestado");
String cidade = request.getParameter("campocidade");
int a=1;
int c=0;
Connection con;
try{
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
con = DriverManager.getConnection("jdbc:microsoft:sqlserver://localhost:1433;databaseName=bd_email;","sa","master");
String pagina = request.getParameter("pagina"); // página atual
if(pagina == null){
pagina = "1";
}
int limit = 5; // quantidade de resultados por página
Statement stm;
ResultSet rs;
stm = con.createStatement();
String sql = "";
String sql1 = "";
int limitValue = (Integer.parseInt(pagina) * limit) - limit;
if(estado != ""){
sql = "SELECT ID, NOMERAZAO, APELIDOFANTASIA, CIDADE, ESTADO FROM DADOS WHERE ESTADO='"+estado+"' SET ROWCOUNT "+limitValue+""+limit+"";
sql1 = "SELECT COUNT(*) AS c FROM DADOS WHERE ESTADO='"+estado+"'";
}if(cidade != ""){
sql = "SELECT ID, NOMERAZAO, APELIDOFANTASIA, CIDADE, ESTADO FROM DADOS WHERE CIDADE='"+cidade+"' SET ROWCOUNT "+limitValue+""+limit+"";
sql1 = "SELECT COUNT(*) AS c FROM DADOS WHERE CIDADE='"+cidade+"'";
}if(nomerazao != ""){
sql = "SELECT ID, NOMERAZAO, APELIDOFANTASIA, CIDADE, ESTADO FROM DADOS WHERE NOMERAZAO LIKE '%"+nomerazao+"%' SET ROWCOUNT "+limitValue+""+limit+"";
sql1 = "SELECT COUNT(*) AS c FROM DADOS WHERE NOMERAZAO LIKE '%"+nomerazao+"%'";
}if(apelidofantasia != ""){
sql = "SELECT ID, NOMERAZAO, APELIDOFANTASIA, CIDADE, ESTADO FROM DADOS WHERE APELIDOFANTASIA LIKE '%"+apelidofantasia+"%' SET ROWCOUNT "+limitValue+""+limit+"";
sql1 = "SELECT COUNT(*) AS c FROM DADOS WHERE APELIDOFANTASIA LIKE '%"+apelidofantasia+"%'";
}if(estado.equals("") && cidade.equals("") && nomerazao.equals("") && apelidofantasia.equals("")){
response.sendRedirect("index.jsp?statusConsulta=Favor preencher pelo menos um dos campos acima!");
}
Statement stm1;
ResultSet rs1;
stm1 = con.createStatement();
rs1 = stm1.executeQuery(sql1);
rs1.next();
int total_rows = Integer.parseInt(rs1.getString("c"));
rs = stm.executeQuery(sql);
if(rs.next()){
do{
out.println("<tr>");
out.println("<td><a href=dados.jsp?id='"+rs.getInt("ID")+"'>"+rs.getString("NOMERAZAO")+"</a></td>");
out.println("<td>"+rs.getString("APELIDOFANTASIA")+"</td>");
out.println("<td>"+rs.getString("CIDADE")+"</td>");
out.println("<td>"+rs.getString("ESTADO")+"</td>");
out.println("</tr>");
c=a++;
}while(rs.next());
out.println("</table>");
out.println("</center>");
out.println("Foram encontrados "+c+" registros");
out.println("</form>");
out.println("</body>");
out.println("</html>");
}else{
response.sendRedirect("index.jsp?statusConsulta=Registro Inexistente");
}
int anterior;
if(Integer.parseInt(pagina) != 1){
anterior = Integer.parseInt(pagina) - 1;
out.println("<a href=?pagina=" + anterior + ">" + limit + " Anteriores</a>");
}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("<b>" + i + "</b> ");
}else{
out.println("<a href=?pagina=" + i + ">" + i + "</a> ");
}
}
if((total_rows % limit) != 0){
if(i == Integer.parseInt(pagina)){
out.println(i + " ");
}else{
out.println("<a href=?pagina=" + i + ">" + i + "</a> ");
}
}
int proxima;
if((total_rows - (limit * Integer.parseInt(pagina))) > 0){
proxima = Integer.parseInt(pagina) + 1;
out.println("<a href=?pagina=" + proxima + ">Próximos " + limit + "</a>");
}else
out.println("Próximos " + limit);
}catch(Exception e){
out.println("Falha na conexão! Erro: "+e.getMessage());
}
}
}
o que preciso fazer para funcionar?