"java.lang.Nullpointerexception" error when trying to search a database list

Asked

Viewed 17 times

0

Good afternoon! I have the error quoted in the title when I try to load the list of Patients from the Database. Follow the code:

package servlets;

import banco_dados.conexaoBancoDados;
import banco_dados.DaoPacientes;
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.ResultSet;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import util.Conversao;
import util.Validacao;

/**
 *
 * @author Danilo
 */
public class SelecionarPaciente extends HttpServlet {
    public SelecionarPaciente() {
    }
    
    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        boolean blnProcessa = true;
        Conversao Converter = new Conversao();
        Validacao Validar = new Validacao();
        conexaoBancoDados Conexao = new conexaoBancoDados();
        DaoPacientes Paciente = new DaoPacientes();
        String strOpcaoPesquisa = request.getParameter("rbOpcaoPesquisa");
        String strNome = request.getParameter("txtNomePaciente");
        String strRG = request.getParameter("txtRG");
        String strCPF = request.getParameter("txtCPF");
        String strOpcao = request.getParameter("opcao");
        String strCampoPesquisa = "";
        String strValorPesquisa = "";
        if (strOpcaoPesquisa.equals("RG")) {
            strCampoPesquisa = "RG";
            strValorPesquisa = strRG;
        } else if (strOpcaoPesquisa.equals("CPF")) {
            strCampoPesquisa = "CPF";
            strValorPesquisa = strCPF;
            if (!Validar.CPFValido(strCPF)) {
                blnProcessa = false;
            }
        }
        
        response.setContentType("text/html;charset=UTF-8");
        PrintWriter out = response.getWriter();
        out.println("<!DOCTYPE html>");
        out.println("<html>");
        out.println("<head>");
        out.println("<meta http-equiv='Content-Type' content='text/html; charset=utf-8' />");
        out.println("<title>SGC - Versão 1.0</title>");
        out.println("<link href='clinica_medica.css' rel='stylesheet' type='text/css' />");
        out.println("</head>");
        out.println("<body class='FundoPagina'>");
        out.println("<p class='TituloAplicacao'>SGC - Sistema de Gestão de Clínicas 1.0</p>");
        if (strOpcao.toUpperCase().equals("RETORNO")) {
            out.println("<p class='TituloPagina'>Agendamento de Retorno de Consulta Médica</p>");
        } else {
            out.println("<p class='TituloPagina'>Agendamento de Consulta Médica</p>");
        }
        
        ResultSet rsRegistro;
        if (strOpcaoPesquisa.equals("Nome")) {
            try {
                if (Conexao.abrirConexao()) {
                    Paciente.configurarConexao(Conexao.obterConexao());
                    rsRegistro = Paciente.listarRegistros(strNome);
                    if (rsRegistro == null) {
                        out.println("<p>Falha na exibição dos registros!</p>");
                    } else {
                        out.println("<h2><center>Lista de pacientes</center></h2>");
                        out.println("<br>");
                        out.println("<table align='center' bgcolor='moccasin'>");
                        out.println("<tr><th>Nome do paciente</th><th>Número do RG</th><th>Número do CPF</th><th></th></tr>");
                        
                        for (; rsRegistro.next(); out.print("</tr>")) {
                            out.print("<tr>");
                            out.print("<td>" + rsRegistro.getString("Nome") + "</td>");
                            out.print("<td>" + rsRegistro.getString("Numero_RG") + "</td>");
                            out.print("<td>" + rsRegistro.getString("Numero_CPF") + "</td>");
                            if (strOpcao.toUpperCase().equals("RETORNO")) {
                                out.print("<td><a href='marcar_retorno.jsp?codigo_paciente=" + rsRegistro.getString("Codigo_Paciente") + "'>Marcar retorno</a></td>");
                            } else {
                                out.print("<td><a href='marcar_consulta.jsp?codigo_paciente=" + rsRegistro.getString("Codigo_Paciente") + "'>Marcar consulta</a></td>");
                            }
                        }
                        
                        out.println("</table>");
                        out.println("<br>");
                    }
                    
                    Conexao.fecharConexao();
                } else {
                    out.println("<p>Falha na conexão com o banco de dados!</p>");
                }
            } catch (Exception erro) {
                erro.printStackTrace();
                out.println("<h2>Erro do sistema: processo de cadastro de paciente!</h2>");
            }
        } else if (blnProcessa) {
            try {
                if (Conexao.abrirConexao()) {
                    Paciente.configurarConexao(Conexao.obterConexao());
                    int intCodigoPaciente = Paciente.localizarRegistro(strCampoPesquisa, strValorPesquisa);
                    if (intCodigoPaciente != 0) {
                        rsRegistro = Paciente.lerRegistro(intCodigoPaciente);
                        String strDataNascimento = Converter.DateToString(rsRegistro.getDate("Data_Nascimento"));
                        out.println("Nome do paciente: " + rsRegistro.getString("Nome") + "<br>");
                        out.println("Data de Nascimento: " + strDataNascimento + " - Sexo: " + rsRegistro.getString("Sexo") + "<br>");
                        out.println("RG: " + rsRegistro.getString("Numero_RG") + " - Órgão emissor: " + rsRegistro.getString("Orgao_Emissor") + "<br>");
                        out.println("CPF: " + rsRegistro.getString("Numero_CPF") + "<br>");
                        out.println("Endereço: " + rsRegistro.getString("Endereco") + ", " + rsRegistro.getString("Numero") + "<br>");
                        out.println("Complemento: " + rsRegistro.getString("Complemento") + "<br>");
                        out.println("Cidade: " + rsRegistro.getString("Cidade") + " - Estado: " + rsRegistro.getString("Estado") + "<br>");
                        out.println("Telefone: " + rsRegistro.getString("Telefone") + " - Celular: " + rsRegistro.getString("Celular") + "<br>");
                        out.println("<br><br>");
                        if (strOpcao.toUpperCase().equals("RETORNO")) {
                            out.print("<td><a href='marcar_retorno.jsp?codigo_paciente=" + intCodigoPaciente + "'>[Marcar retorno]</a></td>");
                        } else {
                            out.println("<a href='marcar_consulta.jsp?codigo_paciente=" + intCodigoPaciente + "'>[Marcar consulta]</a> ");
                        }
                        
                        out.println("<span class='LinkVoltar'><a href='javascript:history.back()'>[Voltar]</a></span>");
                    } else {
                        out.println("<h2>Paciente não encontrado!</h2>");
                        out.println("<br><br><br>");
                        out.println("<p class='LinkVoltar'><a href='javascript:history.back()'>[Voltar]</a></p>");
                    }
                    
                    Conexao.fecharConexao();
                } else {
                    out.println("<h2>Não foi possível estabelecer conexão com o banco de dados!</h2>");
                }
            } catch (Exception erro) {
                erro.printStackTrace();
                out.println("<h2>Erro do sistema: processo de cadastro de paciente!</h2>");
            }
        } else {
            response.sendRedirect("mensagem_alerta.jsp?texto_mensagem='CPF com erro!'");
        }
        
        out.println("<p class='RodapePagina'>Copyright(c) 2015 - Editora Érica Ltda.</p>");
        out.println("</body>");
        out.println("</html>");
    }
}

End like that and it didn’t work either:

package servlets;

import banco_dados.conexaoBancoDados;
import banco_dados.DaoPacientes;
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.ResultSet;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import util.Conversao;
import util.Validacao;

/**
 *
 * @author Danilo
 */
public class SelecionarPaciente extends HttpServlet {
    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        ResultSet rsRegistro;
        PrintWriter out;
        String strOpcaoPesquisa,strNome,strRG,strCPF,strCampoPesquisa,strValorPesquisa,strDataNascimento,strOpcao;
        int intCodigoPaciente;
        boolean blnProcessa = true;
        Conversao Converter = new Conversao();
        Validacao Validar = new Validacao();
        conexaoBancoDados Conexao = new conexaoBancoDados();
        DaoPacientes Paciente = new DaoPacientes();
        
        strOpcaoPesquisa = request.getParameter("rbOpcaoPesquisa");
        strNome = request.getParameter("txtNomePaciente");
        strRG = request.getParameter("txtRG");
        strCPF = request.getParameter("txtCPF");
        strOpcao = request.getParameter("opcao");
        
        strCampoPesquisa = "";
        strValorPesquisa = "";
        
        if (strOpcaoPesquisa.equals("RG"))
        {
            strCampoPesquisa = "RG";
            strValorPesquisa = strRG;
        }
        else if (strOpcaoPesquisa.equals("CPF"))
        {
            strCampoPesquisa = "CPF";
            strValorPesquisa = strCPF;
            
            // Verifica se o CPF é válido
            if (!Validar.CPFValido(strCPF))
                blnProcessa = false;
        }
        
        response.setContentType("text/html;charset=UTF-8");
        out = response.getWriter();
        
        out.println("<!DOCTYPE html>");
        out.println("<html>");
        out.println("<head>");
        out.println("<meta http-equiv='Content-Type' content='text/html; charset=utf-8' />");
        out.println("<title>SGC - Versão 1.0</title>");
        out.println("<link href='clinica_medica.css' rel='stylesheet' type='text/css' />");
        out.println("</head>");
        out.println("<body class='FundoPagina'>");
        out.println("<p class='TituloAplicacao'>SGC - Sistema de Gestão de Clínicas 1.0</p>");
        if (strOpcao.toUpperCase().equals("RETORNO"))
            out.println("<p class='TituloPagina'>Agendamento de Retorno de Consulta Médica</p>");
        else
            out.println("<p class='TituloPagina'>Agendamento de Consulta Médica</p>");
        
        if (strOpcaoPesquisa.equals("Nome"))
        {
            try
            {
                if (Conexao.abrirConexao())
                {
                    Paciente.configurarConexao(Conexao.obterConexao());
                    
                    rsRegistro = Paciente.listarRegistros(strNome);
                    
                    if (rsRegistro != null)
                    {
                        out.println("<h2><center>Lista de pacientes</center></h2>");
                        out.println("<br>");
                        out.println("<table align='center' bgcolor='moccasin'>");
                        out.println("<tr><th>Nome do paciente</th><th>Número do RG</th><th>Número do CPF</th><th></th></tr>");
                        
                        while (rsRegistro.next())
                        {
                            out.print("<tr>");
                            out.print("<td>"+rsRegistro.getString("Nome")+"</td>");
                            out.print("<td>"+rsRegistro.getString("Numero_RG")+"</td>");
                            out.print("<td>"+rsRegistro.getString("Numero_CPF")+"</td>");
                            if (strOpcao.toUpperCase().equals("RETORNO"))
                                out.print("<td><a href='marcar_retorno.jsp?codigo_paciente="+rsRegistro.getString("Codigo_Paciente")+"'>Marcar retorno</a></td>");
                            else
                                out.print("<td><a href='marcar_consulta.jsp?codigo_paciente="+rsRegistro.getString("Codigo_Paciente")+"'>Marcar consulta</a></td>");
                            out.print("</tr>");
                        }
                        out.println("</table>");
                        out.println("<br>");
                    }
                    else
                        out.println("<p>Falha na exibição dos registros!</p>");
                    Conexao.fecharConexao();
                }
                else
                    out.println("<p>Falha na conexão com o banco de dados!</p>");
            }
            catch (Exception erro)
            {
                erro.printStackTrace();
                out.println("<h2>Erro do sistema: proceso de cadastro de paciente!</h2>");
            }
        }
        else
        {
            if (blnProcessa)
            {
                try
                {
                    if (Conexao.abrirConexao())
                    {
                        Paciente.configurarConexao(Conexao.obterConexao());
                        
                        intCodigoPaciente = Paciente.localizarRegistro(strCampoPesquisa, strValorPesquisa);
                        
                        if (intCodigoPaciente != 0)
                        {
                            rsRegistro = Paciente.lerRegistro(intCodigoPaciente);
                            strDataNascimento = Converter.DateToString(rsRegistro.getDate("Data_Nascimento"));
                            
                            out.println("Nome do paciente: "+rsRegistro.getString("Nome")+"<br>");
                            out.println("Data de nascimento: "+strDataNascimento+" - Sexo: "+rsRegistro.getString("Sexo")+"<br>");
                            out.println("RG: "+rsRegistro.getString("Numero_RG")+" - Órgão emissor: "+rsRegistro.getString("Orgao_Emissor")+"<br>");
                            out.println("CPF: "+rsRegistro.getString("Numero_CPF")+"<br>");
                            out.println("Endereço: "+rsRegistro.getString("Endereco")+","+rsRegistro.getString("Numero")+"<br>");
                            out.println("Complemento: "+rsRegistro.getString("Complemento")+"<br>");
                            out.println("Cidade: "+rsRegistro.getString("Cidade")+" - Estado: "+rsRegistro.getString("Estado")+"<br>");
                            out.println("Telefone: "+rsRegistro.getString("Telefone")+" - Celular: "+rsRegistro.getString("Celular")+"<br>");
                            out.println("<br><br>");
                            if (strOpcao.toUpperCase().equals("RETORNO"))
                                out.print("<td><a href='marcar_retorno.jsp?codigo_paciente="+intCodigoPaciente+"'>[Marcar retorno]</a></td>");
                            else
                                out.println("<a href='marcar_consulta.jsp?codigo_paciente="+intCodigoPaciente+"'>[Marcar consulta]</a> ");
                            out.println("<span class='LinkVoltar'><a href='javascript:history.back()'>[Voltar]</a></span>");
                        }
                        else
                        {
                            out.println("<h2>Paciente não encontrado!</h2>");
                            out.println("<br><br><br>");
                            out.println("<p class='LinkVoltar'><a href='javascript:history.back()'>[Voltar]</a></p>");
                        }
                        
                        Conexao.fecharConexao();
                    }
                    else
                        out.println("<h2>Não foi possível estabelecer conexão com o banco de dados!</h2>");
                }
                catch (Exception erro)
                {
                    erro.printStackTrace();
                    out.println("<h2>Erro do sistema: processo de cadastro de paciente!</h2>");
                }
            }
            else
                response.sendRedirect("mensagem_alerta.jsp?texto_mensagem='CPF com erro!'");
        }
        out.println("<p class='RodapePagina'>Copyright(c) 2015 - Editora Érica Ltda.</p>");
        out.println("</body>");
        out.println("</html>");
    }
}
No answers

Browser other questions tagged

You are not signed in. Login or sign up in order to post.