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