逐一阅读所有结果

时间:2014-07-02 08:17:14

标签: java string swing jdbc jtextfield

我为下一个按钮编写此代码。当我点击我只从表中获得第一行。帮帮我如何逐一获取所有行?

   public void next(){
      try{
          String Url = "Jdbc:Odbc:DirDSN";
          Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
          Connection con = DriverManager.getConnection(Url,"sa","mysql");
          //        Statement st = con.createStatement();
          String sql = "SELECT * FROM PersonInformation";
          PreparedStatement pstmt = con.prepareStatement(sql,
               ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE);
          ResultSet rs = pstmt.executeQuery();
          if(rs.next()) {
              String name = rs.getString("First_Name");
              String lName = rs.getString("Last_Name");
              String add = rs.getString ("Address");
              String em = rs.getString("Email_Id");
              String cell = rs.getString("cell#");
              //        System.out.println("name"+ name+ "lastName"+lName);
              //        set();
              jTextField2.setText(name);
              jTextField3.setText(lName);
              jTextField4.setText(add);
              jTextField5.setText(em);
              jTextField10.setText(cell);
          } else {
              JOptionPane.showMessageDialog(null,"no next record available");
          }
       } catch(Exception sqlEx) {
            System.out.println(sqlEx);
       }
   }

请告诉我如何以逐行的形式从数据库中创建的表中获取数据。我为下一个按钮编写了这个代码,但是我只通过点击下一个按钮获得表的第一个记录,我想如果我点击下一个按钮,它应该在gui.guide me plz中逐个显示所有记录

1 个答案:

答案 0 :(得分:1)

你做错了。

  1. 将循环从if更改为while
  2. 当循环结束时,您正在填充JTextField,您将只看到最后一个值,因为其他值超过了写入。将其更改为System.out.println();并相应调整您的GUI