SQL select不会显示所选项目
问题描述:
当我运行此代码时,为什么在选择时获取最后添加的记录,而不是我选择的框中的项目?SQL select不会显示所选项目
String subj = null;
String sec = null;
String fac = null;
try {
String tmp=(String) secCombo.getSelectedItem();
String sql="select faculty,section,subject from facload where section=?";
pst=(PreparedStatement) conn.prepareStatement(sql);
pst.setString(1,tmp);
rs=pst.executeQuery();
while(rs.next()){
sec = rs.getString("section");
subj = rs.getString("subject");
fac = rs.getString("faculty");
}
} catch(Exception e){
JOptionPane.showMessageDialog(null, e);
}
JOptionPane.showMessageDialog(null, "prof " +fac + "\n" + "subject " + subj);
if (subCombo1.getSelectedItem().equals(fac) && subCombo.getSelectedItem().equals(subj)) {
JOptionPane.showMessageDialog(null, "lalalala");
}
答
这里:
while(rs.next()){
sec = rs.getString("section");
subj = rs.getString("subject");
fac = rs.getString("faculty");
}
你在你的循环一次又一次地分配相同的变量。循环结束后,它们具有在上次迭代中设置的任何值。
先生我可以做些什么来解决这个问题? – Aural 2014-09-26 22:14:29
取决于。你的查询只应该返回一个结果吗?如果是这样,也许它不够具体。 – khelwood 2014-09-26 22:16:21
是的,先生只有一个结果,但我需要的结果是我在我的组合框中选择的结果。所以我不能再次添加,如果他们都是相同的 – Aural 2014-09-26 22:21:52