有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java试图检索多个JDBC结果

因此,我试图打印出我的项目中处理某些严重程度的医疗条件(高、中、低)的所有医院,它们是从我的项目的另一部分传递过来的

最初,它会找到正确的严重性级别,因此它会对照数据库中的另一个表来查找医院并打印它们。然而,它只打印了一个医院标签(有两个用于Im测试的高严重性),而没有打印另一个

任何帮助都将不胜感激,我觉得我的循环是错误的

谢谢

// Create selection query, get relevant hospitals
String select = "SELECT * FROM hospitals WHERE hospitalSeverityHandling = '" + medicalCondition + "'";


// Get results hospitals in the database
ResultSet results = statement.executeQuery(select);

// When hospitals have been found 

if (results.next())
{
    results.first();

    // Get hospitals with relevant severity
    //String hospital = results.getString("hospitalName");
    //System.out.println(hospital);

    // Respond to user, get hospital selection
    // TODO Hospital Selection
    JOptionPane.showMessageDialog(null, "A list of hospitals have been retrieved for severity level: " + medicalCondition, "Select available hospital", JOptionPane.INFORMATION_MESSAGE);   

    // Loop hospitals
    while(results.next())
    {
        String hospital = results.getString("hospitalName");
        System.out.println(hospital);
    }
}

共 (2) 个答案

  1. # 1 楼答案

    修正:

    while(results.next())               
                {
                    // Put into interactive list
                    String hospital = results.getString("hospitalName");
    
                    // Loops each hospital via popup, needs to be added to a selection menu
                    JOptionPane.showMessageDialog(null, hospital, "Hospital List", JOptionPane.INFORMATION_MESSAGE);
    
  2. # 2 楼答案

    由于正在使用结果,因此缺少一条记录。接下来()两次

    相反,您可以按如下方式使用它:

       String select = "SELECT * FROM hospitals WHERE    
           hospitalSeverityHandling = '" + medicalCondition + "'";
    
        // Get results hospitals in the database
        ResultSet results = statement.executeQuery(select);
    
         // Loop hospitals
            while(results.next())
            {
                String hospital = results.getString("hospitalName");
                System.out.println(hospital);
            }
        }