SQL查询如何从多个表中返回数据?

时间:2017-05-26 13:28:18

标签: java sql resultset

SQL查询如何从多个表中返回数据? 对于前我的SQL查询假设列出特定教室的所有学生 但它只显示1名学生。这可以通过系统输出完成吗?

if (forms.Validation.textNotEmpty(tfId)) {
    try {
        ResultSet rs = hogDB.getData("select * from student where sleepRoom = ("+tId.getText()+");");

        if (rs.next()) {
            tfStudentId1.setText(rs.getString("student_id"));
            tfForNamne1.setText(rs.getString("fornamne"));
            tfAfterNamne1.setText(rs.getString("AfterNamn"));
            tfSleep1.setText(rs.getString("sleepRoom"));

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

1 个答案:

答案 0 :(得分:0)

要了解您是否真的只检索了一个或多个学生,这里是一段测试代码的建议。

        try {
            ResultSet rs = hogDB.getData("select * from student where sleepRoom = ("
                                            + tId.getText() + ");");

            int count = 0;
            while (rs.next()) {
                System.out.format("%-10s%-20s%-20s%-8s%n", 
                        rs.getString("student_id"), rs.getString("fornamne"), 
                        rs.getString("AfterNamn"), rs.getString("sleepRoom"));
                count++;
            }
            System.out.println("" + count + " students retrieved");
        } catch(Exception e) {
             e.printStackTrace();
        }

另一个可能的问题是tId.getText()一个数字?如果不是,您应该将其括在查询中的单引号中。在任何情况下,建议的方法是通过?占位符将值传递给数据库,并在准备好的语句上调用setXx()