Java 查询以搜索患者

Java 查询以搜索患者,java,Java,我正在创建一个简单的医疗系统数据库,我希望能够创建一个查询来搜索数据库中已有的患者。我有一个文本字段,输入患者的名字和姓氏,并将患者ID号、名字、姓氏以及他们需要的服务类型打印到控制台。当我尝试使用按钮查询结果时,我得到一个java.lang.NullPointerException。这是因为我只把姓和名作为我的查询还是出于其他原因 连接和患者方法: public void serachPatient() throws ClassNotFoundException, SQLExcepti

我正在创建一个简单的医疗系统数据库,我希望能够创建一个查询来搜索数据库中已有的患者。我有一个文本字段,输入患者的名字和姓氏,并将患者ID号、名字、姓氏以及他们需要的服务类型打印到控制台。当我尝试使用按钮查询结果时,我得到一个java.lang.NullPointerException。这是因为我只把姓和名作为我的查询还是出于其他原因

连接和患者方法:

    public void serachPatient() throws ClassNotFoundException, SQLException {
    Connection conn = null;
    Statement stmt = null;
    try {
        Class.forName("com.mysql.jdbc.Driver");
        System.out.println("Preparing a statement...");
        stmt = conn.createStatement();
        
        String sql = "SELECT fname, lname FROM Services";
        ResultSet rs = stmt.executeQuery(sql);
        
        while(rs.next()) {
            //Retrieve by column name
            int id = rs.getInt("paitinet_id");
            String firstName = rs.getString("fname");
            String lastName = rs.getString("lname");
            String serviceType = rs.getString("service_type");
            
            //Display values
            System.out.print("ID: " + id);
            System.out.print("First Name: " + firstName);
            System.out.print("Last Name: " + lastName);
            System.out.print("Service Type: " + serviceType);
        }
        rs.close();
    }catch(SQLException se) {
        se.printStackTrace();
    }catch(Exception e) {
        e.printStackTrace();
    }
    try {
        if(stmt!=null)
            conn.close();
    }catch(SQLException se) {
        
    }
    
}
搜索按钮操作:

//Create "Search" event
    search.setOnAction(e->{
        try {
            serachPatient();
        } catch (ClassNotFoundException | SQLException e1) {
            e1.printStackTrace();
        }
    });

调用
conn.createStatement()
,但从未实例化
conn
,因此出现NullPointerException。因此,添加类似于
conn=DriverManager.getConnection(“jdbc:mysql://localhost:3306/mydb“,”根“,”根“)@Conffusion谢谢你,我很感谢你提供的有用的解决方案。Althoguh现在当我搜索患者时,程序会打印数据库中的所有患者,而不是我用按钮搜索的患者。不正常。您的查询是
选择fname,lname FROM Services
。您应该使用用户输入的值添加一个
WHERE
子句。@Conffusion此解决方案有效,谢谢。它非常有用。