我正在一个名为Employee考勤管理系统的项目中工作。为此,我创建了一个java表单。表单包含员工ID,员工姓名字段,下一个按钮。 如果我按下一个按钮,下一个员工的详细信息必须显示在上述两个字段中。为了做到这一点,我使用了循环问题听到会出现是否显示数据库中的最后一个员工详细信息。 我的代码是:
int i=1;
try {
ResultSet rs;
Connection con;
Statement st;
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
con = DriverManager.getConnection("jdbc:odbc:vasu");
st = con.createStatement();
for(i=1;i<=5;++i){
rs = st.executeQuery("select ID,EName from attendence where ID="+(i));
while(rs.next()) {
t1.setText(rs.getString("ID"));
t2.setText(rs.getString("EName"));
}
}
}
catch (Exception e) {
}
抱歉我的英语不好。 有谁可以帮帮我.. 好的,先谢谢。
答案 0 :(得分:0)
当您调用循环时,每次在t1
和t2
中都会覆盖这些值。这就是显示最后一个记录值的原因。
答案 1 :(得分:0)
此循环存在问题
while(rs.next()) {
t1.setText(rs.getString("ID"));
t2.setText(rs.getString("EName"));
}
你需要将数据库中的值存储在一个数组中,然后用你的(上一个,下一个)按钮迭代它,如
i=0;
while(rs.next()) {
dataset["id"][i]=(rs.getString("ID");
dataset["EName"][i]=rs.getString("EName");
i++
}
显示可以使用数据集数组的信息,如
t1.setText(dataset["id"][i]);
我没有检查语法,但逻辑是正确的。