-1

我正在一个名为员工考勤管理系统的项目中工作。为此,我创建了一个 java 表单。该表单包含员工 ID、员工姓名字段、下一步按钮。如果我按下下一个按钮,则必须在上述两个字段中显示下一个员工详细信息。为此,我使用了 for 循环,出现的问题是它正在显示数据库中的最后一个员工详细信息。我的代码是:

           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) {

    }      

对不起我糟糕的英语。任何人都可以帮助我.. 提前谢谢。

4

2 回答 2

0

每次调用循环时t1,这些值都会被覆盖。t2这就是显示最后一个记录值的原因。

于 2013-03-05T07:17:47.547 回答
0

这个循环有问题

while(rs.next()) {
          t1.setText(rs.getString("ID"));
          t2.setText(rs.getString("EName"));
          } 

您需要将数据库中的值存储在一个数组中,然后使用您的 (prev,next) 按钮对其进行迭代,例如

i=0;
while(rs.next()) {
          dataset["id"][i]=(rs.getString("ID");
          dataset["EName"][i]=rs.getString("EName");
   i++
          } 

要显示信息,您可以使用数据集数组,例如

 t1.setText(dataset["id"][i]);

我没有检查语法,但逻辑是正确的。

于 2013-03-05T07:22:04.560 回答