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();
}
}
答案 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()
。