JAVA中查询出的结果集是否能随意顺序调用(取决于各类数据库的JDBC是否实现了接口)

 
import java.sql.*;   
  
public class TestScroll {   
  
    /**  
     * @param args  
     */  
    public static void main(String[] args) {   
        // TODO Auto-generated method stub   
        Connection con = null;   
        Statement stat = null;   
        ResultSet rs = null;   
        try{   
            Class.forName("com.mysql.jdbc.Driver");   
            String url = "jdbc:mysql://localhost:3306/mydb";
            //con = DriverManager.getConnection("jdbc:mysql://localhost:3306/mydb?user=root&password=root");   
            con = DriverManager.getConnection(url, "root", "root");
            //ResultSet.TYPE_SCROLL_INSENSITIVE:对指针的移动不敏感,即指针可以随意移动
            //ResultSet.CONCUR_READ_ONLY: 该常量指示不可以更新的 ResultSet 对象的并发模式
            stat = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);   
            rs = stat.executeQuery("select * ,name from people order by id");   
           /* while(rs.next()){   
                System.out.println(rs.getString("id"));   
            }   */
            //取查询出第一行的数据
            rs.next();
            //打印第一行第一列的数据以INT类型显示出来
            System.out.println(rs.getInt(1));
            //直接跳到查询出所有数据的最后一行
            rs.last();
            //最后一行的第一列以字符串类型打印出来
            System.out.println(rs.getString(1));
            //打印是否是最后一行:TRUE
            System.out.println(rs.isLast());
            //打印当前行的编号,即查询出所有记录的总数
            System.out.println(rs.getRow());
            //指针移向最后一行的下面
            rs.next();
            //判断是否是最后一行的下面:TRUE
            System.out.println(rs.isAfterLast());
            //向上移一行
            rs.previous();
            rs.previous();
            System.out.println(rs.getString(1));
            //指针直接移至第7行
            rs.absolute(7);
            System.out.println(rs.getString(1));
        }catch(ClassNotFoundException e){   
            e.printStackTrace();   
        }catch(SQLException s){   
            s.printStackTrace();   
        }finally{   
            try{   
                if(con != null){   
                    //如果con一开始就是null的话,如果不判断就一直出SQL异常,所以应该先判断一下   
                    con.close();   
                    con = null;   
                }   
                if(stat != null){   
                    stat.close();   
                    stat = null;   
                }   
                if(rs != null){   
                    rs.close();   
                    rs =null;   
                }   
            }catch(SQLException se){   
                se.printStackTrace();   
            }   
        }   
    }   
  
}   
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值