java数据库连接检索

我使用下面的代码以摆动形式显示我的数据库中的记录.但是,当我点击按钮时,它只显示数据库的第一条记录(数据库中的表有5条记录)private void btnnextActionPerformed(java.awt.event.ActionEvent evt) { ...

我使用下面的代码以摆动形式显示我的数据库中的记录.但是,当我点击按钮时,它只显示数据库的第一条记录(数据库中的表有5条记录)

private void btnnextActionPerformed(java.awt.event.ActionEvent evt) {                                        
    try
        {
            Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
            Connection con=DriverManager.getConnection("jdbc:odbc:StudentDetails");
            Statement stm=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
            ResultSet rs=stm.executeQuery("Select * from NurseryStDetails");

                if(rs.first())
                {
                    txtstID.setText(rs.getString(1));
                    txtname.setText(rs.getString(2));
                    txtaddress.setText(rs.getString(3));
//                    int i=rs.getInt(4);
//                    String s=String.valueOf(i);
//                    txtage.setText(rs.getString(s));
//                    int j=rs.getInt(5);
//                    String t=String.valueOf(j);
                    txtage.setText(rs.getString(4));
                    txttelephone.setText(rs.getString(5));
                    txtgNIC.setText(rs.getString(6));
                    txtgname.setText(rs.getString(7));
                }
            }
        catch(Exception ex)
            {
                System.out.println("Exception caught"+ex);
            }

    }   

解决方法:

可以将JDBC ResultSet对象指向正在执行的查询的结果行的开始之前的位置.
第一个rs.next()使它指向返回的第一行.对rs.next()的后续调用将它在结果行中向前移动.
因此,要显示所有结果,请使用该概念

while(rs.next()){
  //use rs to get the details of the current row.
}

如果下一行存在,则rs.next()返回true.

本文标题为:java数据库连接检索

基础教程推荐