Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/365.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
ts p集合医疗号=?,家庭id=?,区块id=?,社区id=?,电子邮件=?,” +“患者姓名=?,患者姓名=?,患者姓氏=?,患者电话号码=?,” +“性别=?,性别=?,种族=?,婚姻状况=?,街道号=?,城市=?,州=?,邮编=?,” +“纬度=?,经度=?,更新日期=?”?" +“其中patientid=?”; //参数以1开头 preparedStatement.setInt(1,pat.getMed_no()); preparedStatement.setInt(2,pat.getFamily_id()); setInt(3,pat.getBlock_id()); preparedStatement.setInt(4,pat.getCommunity_id()); preparedStatement.setString(5,pat.getEmail()); preparedStatement.setString(6,pat.getPfname()); setString(7,pat.getPmname()); preparedStatement.setString(8,pat.getPlname()); preparedStatement.setString(9,pat.getPhone()); preparedStatement.setString(10,pat.getGender()); //setDate(11,新的java.sql.Date(pat.getDob().getTime()); 编制报表。设置字符串(11,dob); preparedStatement.setString(12,pat.getRace()); preparedStatement.setString(13,pat.getMaritalstatus()); setString(14,pat.getStreetnum()); preparedStatement.setString(15,pat.getAptno()); preparedStatement.setString(16,pat.getCity()); preparedStatement.setString(17,pat.getState()); preparedStatement.setInt(18,pat.getZip()); preparedStatement.setDouble(19,pat.getLatitude()); setDouble(20,pat.getLongitude()); setTimestamp(21,getCurrentTimeStamp()); preparedStatement.setInt(22,pat.getPatid()); preparedStatement.executeUpdate(); }捕获(SQLE异常){ e、 printStackTrace(); } } 公共列表getAllPat(){ List pats=new ArrayList(); 试一试{ 语句Statement=connection1.createStatement(); ResultSet rs=语句.executeQuery(“选择患者ID、患者姓名、患者姓氏、dob、电子邮件、患者更新日期”); while(rs.next()){ 患者pat=新患者(); pat.setPatid(R.getInt(“patientid”); pat.setPfname(rs.getString(“患者名”); pat.setPlname(rs.getString(“患者姓氏”); pat.setDob(rs.getDate(“dob”)); pat.setEmail(rs.getString(“email”); pat.setUpdatedate(rs.getString(“更新日期”); pats.添加(pat); } }捕获(SQLE异常){ e、 printStackTrace(); } 回拍; } 公共患者getPatById(内部患者ID){ 患者pat=新患者(); 试一试{ PreparedStatement PreparedStatement=connection1。 准备陈述(“选择patientid、患者姓名、患者姓氏、dob、来自患者的电子邮件,其中patientid=?”; 编制报表。setInt(1,帕蒂); ResultSet rs=preparedStatement.executeQuery(); 如果(rs.next()){ pat.setPatid(R.getInt(“patientid”); pat.setPfname(rs.getString(“患者名”); pat.setPlname(rs.getString(“患者姓氏”); pat.setDob(rs.getDate(“dob”)); pat.setEmail(rs.getString(“email”); } }捕获(SQLE异常){ e、 printStackTrace(); } 回击; } }_Java_Jsp_Servlets_Dao - Fatal编程技术网

ts p集合医疗号=?,家庭id=?,区块id=?,社区id=?,电子邮件=?,” +“患者姓名=?,患者姓名=?,患者姓氏=?,患者电话号码=?,” +“性别=?,性别=?,种族=?,婚姻状况=?,街道号=?,城市=?,州=?,邮编=?,” +“纬度=?,经度=?,更新日期=?”?" +“其中patientid=?”; //参数以1开头 preparedStatement.setInt(1,pat.getMed_no()); preparedStatement.setInt(2,pat.getFamily_id()); setInt(3,pat.getBlock_id()); preparedStatement.setInt(4,pat.getCommunity_id()); preparedStatement.setString(5,pat.getEmail()); preparedStatement.setString(6,pat.getPfname()); setString(7,pat.getPmname()); preparedStatement.setString(8,pat.getPlname()); preparedStatement.setString(9,pat.getPhone()); preparedStatement.setString(10,pat.getGender()); //setDate(11,新的java.sql.Date(pat.getDob().getTime()); 编制报表。设置字符串(11,dob); preparedStatement.setString(12,pat.getRace()); preparedStatement.setString(13,pat.getMaritalstatus()); setString(14,pat.getStreetnum()); preparedStatement.setString(15,pat.getAptno()); preparedStatement.setString(16,pat.getCity()); preparedStatement.setString(17,pat.getState()); preparedStatement.setInt(18,pat.getZip()); preparedStatement.setDouble(19,pat.getLatitude()); setDouble(20,pat.getLongitude()); setTimestamp(21,getCurrentTimeStamp()); preparedStatement.setInt(22,pat.getPatid()); preparedStatement.executeUpdate(); }捕获(SQLE异常){ e、 printStackTrace(); } } 公共列表getAllPat(){ List pats=new ArrayList(); 试一试{ 语句Statement=connection1.createStatement(); ResultSet rs=语句.executeQuery(“选择患者ID、患者姓名、患者姓氏、dob、电子邮件、患者更新日期”); while(rs.next()){ 患者pat=新患者(); pat.setPatid(R.getInt(“patientid”); pat.setPfname(rs.getString(“患者名”); pat.setPlname(rs.getString(“患者姓氏”); pat.setDob(rs.getDate(“dob”)); pat.setEmail(rs.getString(“email”); pat.setUpdatedate(rs.getString(“更新日期”); pats.添加(pat); } }捕获(SQLE异常){ e、 printStackTrace(); } 回拍; } 公共患者getPatById(内部患者ID){ 患者pat=新患者(); 试一试{ PreparedStatement PreparedStatement=connection1。 准备陈述(“选择patientid、患者姓名、患者姓氏、dob、来自患者的电子邮件,其中patientid=?”; 编制报表。setInt(1,帕蒂); ResultSet rs=preparedStatement.executeQuery(); 如果(rs.next()){ pat.setPatid(R.getInt(“patientid”); pat.setPfname(rs.getString(“患者名”); pat.setPlname(rs.getString(“患者姓氏”); pat.setDob(rs.getDate(“dob”)); pat.setEmail(rs.getString(“email”); } }捕获(SQLE异常){ e、 printStackTrace(); } 回击; } }

ts p集合医疗号=?,家庭id=?,区块id=?,社区id=?,电子邮件=?,” +“患者姓名=?,患者姓名=?,患者姓氏=?,患者电话号码=?,” +“性别=?,性别=?,种族=?,婚姻状况=?,街道号=?,城市=?,州=?,邮编=?,” +“纬度=?,经度=?,更新日期=?”?" +“其中patientid=?”; //参数以1开头 preparedStatement.setInt(1,pat.getMed_no()); preparedStatement.setInt(2,pat.getFamily_id()); setInt(3,pat.getBlock_id()); preparedStatement.setInt(4,pat.getCommunity_id()); preparedStatement.setString(5,pat.getEmail()); preparedStatement.setString(6,pat.getPfname()); setString(7,pat.getPmname()); preparedStatement.setString(8,pat.getPlname()); preparedStatement.setString(9,pat.getPhone()); preparedStatement.setString(10,pat.getGender()); //setDate(11,新的java.sql.Date(pat.getDob().getTime()); 编制报表。设置字符串(11,dob); preparedStatement.setString(12,pat.getRace()); preparedStatement.setString(13,pat.getMaritalstatus()); setString(14,pat.getStreetnum()); preparedStatement.setString(15,pat.getAptno()); preparedStatement.setString(16,pat.getCity()); preparedStatement.setString(17,pat.getState()); preparedStatement.setInt(18,pat.getZip()); preparedStatement.setDouble(19,pat.getLatitude()); setDouble(20,pat.getLongitude()); setTimestamp(21,getCurrentTimeStamp()); preparedStatement.setInt(22,pat.getPatid()); preparedStatement.executeUpdate(); }捕获(SQLE异常){ e、 printStackTrace(); } } 公共列表getAllPat(){ List pats=new ArrayList(); 试一试{ 语句Statement=connection1.createStatement(); ResultSet rs=语句.executeQuery(“选择患者ID、患者姓名、患者姓氏、dob、电子邮件、患者更新日期”); while(rs.next()){ 患者pat=新患者(); pat.setPatid(R.getInt(“patientid”); pat.setPfname(rs.getString(“患者名”); pat.setPlname(rs.getString(“患者姓氏”); pat.setDob(rs.getDate(“dob”)); pat.setEmail(rs.getString(“email”); pat.setUpdatedate(rs.getString(“更新日期”); pats.添加(pat); } }捕获(SQLE异常){ e、 printStackTrace(); } 回拍; } 公共患者getPatById(内部患者ID){ 患者pat=新患者(); 试一试{ PreparedStatement PreparedStatement=connection1。 准备陈述(“选择patientid、患者姓名、患者姓氏、dob、来自患者的电子邮件,其中patientid=?”; 编制报表。setInt(1,帕蒂); ResultSet rs=preparedStatement.executeQuery(); 如果(rs.next()){ pat.setPatid(R.getInt(“patientid”); pat.setPfname(rs.getString(“患者名”); pat.setPlname(rs.getString(“患者姓氏”); pat.setDob(rs.getDate(“dob”)); pat.setEmail(rs.getString(“email”); } }捕获(SQLE异常){ e、 printStackTrace(); } 回击; } },java,jsp,servlets,dao,Java,Jsp,Servlets,Dao,我的期望是,我可以使用DAO从数据库中获取所有患者,然后当我单击“更新患者”按钮时,它将跳转到“lu.jsp”,在“lu.jsp”中,您可以看到它将跳转到“listPatient.jsp”,然后打印每个患者的信息。但是,它不起作用。然后我在浏览器中键入“lu.jsp”,它也会显示相同的信息“500内部错误”。然后我在浏览器中键入“listPatient.jsp”,它没有显示错误,但网页中没有患者信息。因此我认为可能我没有正确地分级患者信息?有什么问题?谢谢!您在使用 getAllpat() 先

我的期望是,我可以使用DAO从数据库中获取所有患者,然后当我单击“更新患者”按钮时,它将跳转到“lu.jsp”,在“lu.jsp”中,您可以看到它将跳转到“listPatient.jsp”,然后打印每个患者的信息。但是,它不起作用。然后我在浏览器中键入“lu.jsp”,它也会显示相同的信息“500内部错误”。然后我在浏览器中键入“listPatient.jsp”,它没有显示错误,但网页中没有患者信息。因此我认为可能我没有正确地分级患者信息?有什么问题?谢谢!

您在使用

getAllpat()
先检查一下

出现空指针的其他可能性

1. in Session creation or setAttribute() method.
2. in request parameter in servlet.
3. or in dao method if resultset have null value from database it will be not set in setmethod().

我想您有第三种类型的错误,所以请在数据库或方法中检查它

您是否尝试调试getAllPat方法,它正在抛出NullPointer您在哪里初始化连接1?哪一个是您在
PatientDAO
中的220 no行?错误消息清楚地表明您正在该行上获得NPE。@RCORDEVAL我已更新DAO部分,并在中初始化了它first@ShafinMahmud第220行是“语句Statement=connection1.createStatement();"
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>
<head>
  <%

  String  context = (String) request.getContextPath();
  String userName = (String) session.getAttribute("id");
  String role = (String) session.getAttribute("role");

    //out.println("CALLING main.jsp values: "+ userName +" "+role);
%>
   <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">


    <title>List Patient Template</title>

    <!-- Bootstrap core CSS -->
   <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta/css/bootstrap.min.css" integrity="sha384-/Y6pD6FV/Vv2HJnA6t+vslU6fwYXjCFtcEpHbNJ0lyAFsXTsjBbfaDjzALeQsN6M" crossorigin="anonymous">


    <!-- Custom styles for this template -->
    <link href="jumbotron.css" rel="stylesheet">

<script>
    var context = '<%=context%>';   
</script>

<script>
function ConfirmDelete()
{
    var Delet_Confirm= confirm("Do you really want to delete this record ?");
 if (Delet_Confirm== true && <%=role%>=="ADMIN")
 {
   return true;
 }
 else
 {
  return false;
  }
}
</script>

</head>
<body>

<% if (role.equals("ADMIN")) {%>

<nav class="navbar navbar-expand-md navbar-dark fixed-top bg-dark">

      <a class="navbar-brand" href="#">Navbar</a>
      <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarsExampleDefault" aria-controls="navbarsExampleDefault" aria-expanded="false" aria-label="Toggle navigation">
        <span class="navbar-toggler-icon"></span>
      </button>

      <div class="collapse navbar-collapse" id="navbarsExampleDefault">

          <ul class="navbar-nav mr-auto">
          <li class="nav-item active">
            <a class="nav-link" href="<%=context%>/main.jsp">Home <span class="sr-only">(current)</span></a>
          </li>
          <li class="nav-item">
            <a class="nav-link" href="<%=context%>/common/myaccount.jsp">My Account</a>
          </li>


          <li class="nav-item">
            <a class="nav-link" href="<%=context%>/common/analysis.jsp?">Patient Analytics</a>
          </li>

  <li class="nav-item dropdown">
        <a class="nav-link dropdown-toggle" href="#" id="navbarDropdownMenuLink" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
          Administrator Tasks
        </a>
        <div class="dropdown-menu" aria-labelledby="navbarDropdownMenuLink">
          <a class="dropdown-item" href="<%=context%>/common/register.jsp">Register BHCO</a>
          <a class="dropdown-item" href="<%=context%>/common/addpatient.jsp">Add Patient</a>
          <a class="dropdown-item" href="<%=context%>/common/assignpatient.jsp">Assign Patient</a>
          <a class="dropdown-item" href="<%=context%>/common/lu.jsp">Update User</a>
          <a class="dropdown-item" href="<%=context%>/common/lp.jsp">Update Patient</a>
        </div>
      </li>

        </ul>

        <form class="form-inline my-2 my-lg-0" action="<%=context%>/LogoutServlet" method="post">
          <a class="form-control mr-sm-2" href="#">Your role:  <%=role%> </a> 
          <button class="btn btn-outline-success my-2 my-sm-0" type="submit">Logout</button>

        </form>
       </div>   

    </nav>
<%}else{ %>

<nav class="navbar navbar-expand-md navbar-dark fixed-top bg-dark">

      <a class="navbar-brand" href="#">Navbar</a>
      <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarsExampleDefault" aria-controls="navbarsExampleDefault" aria-expanded="false" aria-label="Toggle navigation">
        <span class="navbar-toggler-icon"></span>
      </button>

      <div class="collapse navbar-collapse" id="navbarsExampleDefault">

          <ul class="navbar-nav mr-auto">
          <li class="nav-item active">
            <a class="nav-link" href="<%=context%>/main.jsp">Home <span class="sr-only">(current)</span></a>
          </li>
          <li class="nav-item">
            <a class="nav-link" href="<%=context%>/common/myaccount.jsp">My Account</a>
          </li>


          <li class="nav-item">
            <a class="nav-link" href="<%=context%>/common/analysis.jsp?">Patient Analytics</a>
          </li>



        </ul>

        <form class="form-inline my-2 my-lg-0" action="<%=context%>/LogoutServlet" method="post">
          <a class="form-control mr-sm-2" href="#">Your role:  <%=role%> </a> 
          <button class="btn btn-outline-success my-2 my-sm-0" type="submit">Logout</button>

        </form>
       </div>   

    </nav>

<%} %>
<div class="box-centerside">
<br />
<br />
</div>

    <table class="table">
  <thead>
    <tr>
    <th>Patient Id</th>
    <th>First Name</th>
    <th>Last Name</th>
    <th>DOB</th>
    <th>Email</th>
    <th>Last Updated On</th>
    <th colspan=2>Action</th>
    </tr>
  </thead>
  <tbody>
      <c:forEach items="${pats}" var="pat">
                <tr>
                    <td><c:out value="${pat.patid}" /></td>
                    <td><c:out value="${pat.pfname}" /></td>
                    <td><c:out value="${pat.plname}" /></td>
                    <td><fmt:formatDate pattern="yyyy-MM-dd" value="${pat.dob}" /></td>
                    <td><c:out value="${pat.email}" /></td>
                    <td><c:out value="${pat.updatedate}" /></td>
                    <td><a href="<%=context%>/PatientUServlet?action=edit&patid=<c:out value="${pat.patid}"/>">Update</a></td>
                    <td><a onclick="return ConfirmDelete();" href="<%=context%>/PatientUServlet?action=delete&patid=<c:out value="${pat.patid}" />">Delete</a></td>
                </tr>
            </c:forEach>
        </tbody>
    </table>



<script src="https://code.jquery.com/jquery-3.2.1.slim.min.js" integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.11.0/umd/popper.min.js" integrity="sha384-b/U6ypiBEHpOf/4+1nzFpr53nxSS+GLCkfwBdFNTxtclqqenISfwAzpKaMNFNmj4" crossorigin="anonymous"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta/js/bootstrap.min.js" integrity="sha384-h0AbiXch4ZDo7tp9hKZ4TsHbi047NrKGLO3SEJAg45jXxnGIfYzk4Si90RDIqNm1" crossorigin="anonymous"></script>
</body>
<!--Footer-->
      <footer class="page-footer font-small blue pt-4 mt-4">


          <!--Copyright-->
          <div class="footer-copyright py-3 text-center">
              <div class="container-fluid">
                 <script>
var theDate=new Date();
document.write("© "+ theDate.getFullYear() + " University of Pittsburgh");</script>
              </div>
          </div>
          <!--/.Copyright-->

      </footer>
      <!--/.Footer-->
package org.focus.servlets;

import java.io.IOException;
import java.util.Date;
import java.text.ParseException;
import java.text.SimpleDateFormat;

import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.focus.DAO.PatientDAO;
import org.focus.data.Patient;


/**
 * Servlet implementation class UserServlet
 */
@WebServlet("/PatientUServlet")
public class PatientUServlet extends HttpServlet {
    private static final long serialVersionUID = 1L;


        private static String INSERT_OR_EDIT = "/common/patient.jsp";
        private static String LIST_PAT = "/common/listPatient.jsp";
        private PatientDAO dao;


    /**
     * @throws Exception 
     * @see HttpServlet#HttpServlet()
     */
    public PatientUServlet() throws Exception {
        super();
        dao = new PatientDAO();
        // TODO Auto-generated constructor stub
    }

    /**
     * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
     */
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {



        String forward="";
        String action = request.getParameter("action");

        if (action.equalsIgnoreCase("delete")){
            int patid = Integer.parseInt(request.getParameter("patid"));
            dao.deletePat(patid);
            forward = LIST_PAT;
            request.setAttribute("pats", dao.getAllPat());    
        } else if (action.equalsIgnoreCase("edit")){
            forward = INSERT_OR_EDIT;
            int patid = Integer.parseInt(request.getParameter("patid"));
            Patient pat = dao.getPatById(patid);
            request.setAttribute("pat", pat);
        } else if (action.equalsIgnoreCase("listPatient")){
            forward = LIST_PAT;
            request.setAttribute("pats", dao.getAllPat());
        } else {
            forward = INSERT_OR_EDIT;
        }

        RequestDispatcher view = request.getRequestDispatcher(forward);
        view.forward(request, response);
                    }


    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
         Patient pat = new Patient();
         pat.setPatid(Integer.parseInt(request.getParameter("patid")));
         pat.setMed_no(Integer.parseInt(request.getParameter("medNo")));
         pat.setFamily_id(Integer.parseInt(request.getParameter("familyId")));
         pat.setBlock_id(Integer.parseInt(request.getParameter("blockId")));
         pat.setCommunity_id(Integer.parseInt(request.getParameter("communityId")));
         pat.setEmail(request.getParameter("email"));
         pat.setPfname(request.getParameter("firstName"));
         pat.setPmname(request.getParameter("midName"));
         pat.setPlname(request.getParameter("lastName"));
         pat.setPhone(request.getParameter("phone"));
         pat.setGender(request.getParameter("gender"));
         pat.setRace(request.getParameter("race"));
         pat.setMaritalstatus(request.getParameter("maritalstatus"));
         pat.setStreetnum(request.getParameter("streetNumber"));
         pat.setStreetname(request.getParameter("streetName"));
         pat.setAptno(request.getParameter("aptNo"));
         pat.setCity(request.getParameter("city"));
         pat.setState(request.getParameter("state"));
         pat.setZip(Integer.parseInt(request.getParameter("zip")));
         pat.setLatitude(Double.parseDouble(request.getParameter("latitude")));
         pat.setLongitude(Double.parseDouble(request.getParameter("longitude")));

        Date dob;
            try {
                dob = new SimpleDateFormat("yyyy-MM-dd").parse(request.getParameter("dob"));
                pat.setDob(dob);
            } catch (ParseException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();

            }

             dao.updatePat(pat);

             RequestDispatcher view = request.getRequestDispatcher(LIST_PAT);
             request.setAttribute("pats", dao.getAllPat());
             view.forward(request, response);
    }
   }
 package org.focus.DAO;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;
import java.util.Date;

import org.apache.log4j.Logger;
import org.focus.data.PatientAssignDataBean;
import org.focus.data.PatientDataBean;
import org.focus.data.Patient;
import org.focus.db.JdbcUtil;
import org.focus.util.DbUtil;

public class PatientDAO {
    private static Logger log = Logger.getLogger(PatientDAO.class);


    private Connection connection1;

        public PatientDAO() throws Exception {

            connection1 = DbUtil.getConnection();
        }



        private static java.sql.Timestamp getCurrentTimeStamp() {

            java.util.Date today = new java.util.Date();
            return new java.sql.Timestamp(today.getTime());

        }

    public static ArrayList<PatientDataBean> getAllPatients(){
        ArrayList<PatientDataBean> result = new ArrayList<>();
        try ( Connection con = JdbcUtil.getConnection()) {
            String sql= "select patientid,patient_first_name,patient_last_name from patients";
            try (Statement st = con.createStatement()) {
                System.out.println(sql);
                ResultSet rs = st.executeQuery(sql);
                while (rs.next()){
                    result.add(new PatientDataBean(rs.getInt(1),rs.getString(2),rs.getString(3)));
                }
            } catch (Exception e) {
                log.error("Statement in patients search error", e);
                e.printStackTrace();
                result = null;
            }

            }
         catch (Exception e) {
            log.error("patients search error", e);
            e.printStackTrace();
            result = null;
        }

        return result;

    }
    public static ArrayList<PatientDataBean> getAllUnassignedPatients(){
        ArrayList<PatientDataBean> result = new ArrayList<>();
        try ( Connection con = JdbcUtil.getConnection()) {
            String sql= "select patientid,patient_first_name,patient_last_name "
                    + "from patients where patientid not in (select patientid from patientsassigns)";
            try (Statement st = con.createStatement()) {
                System.out.println(sql);
                ResultSet rs = st.executeQuery(sql);
                while (rs.next()){
                    result.add(new PatientDataBean(rs.getInt(1),rs.getString(2),rs.getString(3)));

                }
            } catch (Exception e) {
                log.error("Statement in patients search error", e);
                e.printStackTrace();
                result = null;
            }

            }
         catch (Exception e) {
            log.error("patients search error", e);
            e.printStackTrace();
            result = null;
        }

        return result;

    }

    public static ArrayList<PatientAssignDataBean> getAllAssignedPatientsAndUsers(){
        ArrayList<PatientAssignDataBean> result = new ArrayList<>();
        try ( Connection con = JdbcUtil.getConnection()) {
            String sql= "SELECT pa.uid,pa.patientid "
                    + "from patientsassigns pa";
            try (Statement st = con.createStatement()) {
                System.out.println(sql);
                ResultSet rs = st.executeQuery(sql);
                while (rs.next()){
                    result.add(new PatientAssignDataBean(rs.getString(1),rs. getInt(2)));
                }
            } catch (Exception e) {
                log.error("Statement in patientassign search error", e);
                e.printStackTrace();
                result = null;
            }

            }
         catch (Exception e) {
            log.error("patientassign search error", e);
            e.printStackTrace();
            result = null;
        }

        return result;

    }




    public static int getNameById(int pid){
        PatientDataBean result = new PatientDataBean();
        try ( Connection con = JdbcUtil.getConnection()) {
            String sql= "select patientid from patient where patientid = " + pid;
            try (Statement st = con.createStatement()) {
                System.out.println(sql);
                ResultSet rs = st.executeQuery(sql);
                while (rs.next()){
                    result = new PatientDataBean(rs.getInt(1));
                }
            } catch (Exception e) {
                log.error("Statement in users search error", e);
                e.printStackTrace();
                result = null;
            }

            }
         catch (Exception e) {
            log.error("patients search error", e);
            e.printStackTrace();
            result = null;
        }

        return result.getPatientId();

    }




    /*New CRUD OPERATIONS START FOR USERS - SM*/


//Join to patient assigns to get BHCO info to check if the BHCO is admin in order to delete
    public void deletePat(int pat) {
        try {
            PreparedStatement preparedStatement = connection1
                    .prepareStatement("delete from patients p where patientid=?");
            // Parameters start with 1
            preparedStatement.setInt(1, pat);
            preparedStatement.executeUpdate();

        } catch (SQLException e) {
            e.printStackTrace();
        }
    }


  //Join to patient assigns to get BHCO info to check if the BHCO is admin in order to update
    public void updatePat(Patient pat) {
        java.text.SimpleDateFormat sdf = 
                 new java.text.SimpleDateFormat("yyyy-MM-dd");

        String dob = sdf.format(pat.getDob());
        try {
            PreparedStatement preparedStatement = connection1
                    .prepareStatement("update patients p set med_no=?, family_id=?,block_id=?,community_id=?,email=?, "
                            +"patient_first_name=?,patient_mid_name=?, patient_last_name=?,patient_phone_number=?, "
                            +"gender=?,dob=?,race=?,maritalstatus=?,streetnumber=?,aptno=?,city=?,state=?,zip=?, "
                            +"latitude=?,longitude=?,update_date=? "
                            +"where patientid=?");
            // Parameters start with 1
            preparedStatement.setInt(1, pat.getMed_no());
            preparedStatement.setInt(2, pat.getFamily_id());
            preparedStatement.setInt(3, pat.getBlock_id());
            preparedStatement.setInt(4, pat.getCommunity_id());
            preparedStatement.setString(5, pat.getEmail());
            preparedStatement.setString(6, pat.getPfname());
            preparedStatement.setString(7, pat.getPmname());
            preparedStatement.setString(8, pat.getPlname());
            preparedStatement.setString(9, pat.getPhone());
            preparedStatement.setString(10, pat.getGender());
            //preparedStatement.setDate(11, new java.sql.Date(pat.getDob().getTime()));
            preparedStatement.setString(11, dob);
            preparedStatement.setString(12, pat.getRace());
            preparedStatement.setString(13, pat.getMaritalstatus());
            preparedStatement.setString(14, pat.getStreetnum());
            preparedStatement.setString(15, pat.getAptno());
            preparedStatement.setString(16, pat.getCity());
            preparedStatement.setString(17, pat.getState());
            preparedStatement.setInt(18, pat.getZip());
            preparedStatement.setDouble(19, pat.getLatitude());
            preparedStatement.setDouble(20, pat.getLongitude());
            preparedStatement.setTimestamp(21,getCurrentTimeStamp());
            preparedStatement.setInt(22, pat.getPatid());
            preparedStatement.executeUpdate();

        } catch (SQLException e) {
            e.printStackTrace();
        }
    }

    public List<Patient> getAllPat() {
        List<Patient> pats = new ArrayList<Patient>();
        try {
            Statement statement = connection1.createStatement();
            ResultSet rs = statement.executeQuery("select patientid,patient_first_name,patient_last_name,dob,email,update_date from patients");
            while (rs.next()) {
                Patient pat = new Patient();
                pat.setPatid(rs.getInt("patientid"));
                pat.setPfname(rs.getString("patient_first_name"));
                pat.setPlname(rs.getString("patient_last_name"));
                pat.setDob(rs.getDate("dob"));
                pat.setEmail(rs.getString("email"));
                pat.setUpdatedate(rs.getString("update_date"));
                pats.add(pat);
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }

        return pats;
    }

    public Patient getPatById(int patid) {
        Patient pat = new Patient();
        try {
            PreparedStatement preparedStatement = connection1.
                    prepareStatement("select patientid,patient_first_name,patient_last_name,dob,email from patients where patientid=?");
            preparedStatement.setInt(1, patid);
            ResultSet rs = preparedStatement.executeQuery();

            if (rs.next()) {
                pat.setPatid(rs.getInt("patientid"));
                pat.setPfname(rs.getString("patient_first_name"));
                pat.setPlname(rs.getString("patient_last_name"));
                pat.setDob(rs.getDate("dob"));
                pat.setEmail(rs.getString("email"));
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }

        return pat;
    }





}
getAllpat()
1. in Session creation or setAttribute() method.
2. in request parameter in servlet.
3. or in dao method if resultset have null value from database it will be not set in setmethod().