`
Sunshyfangtian
  • 浏览: 243543 次
  • 性别: Icon_minigender_1
  • 来自: 惠州
社区版块
存档分类
最新评论

对获取结果集的认知

SQL 
阅读更多

 

上一篇日志中,关于获取结果集用到的方法是

    public Statement getStmed(){
     try{
         con=getCon();
         stm=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);
     }catch(Exception e){e.printStackTrace(System.err);}
     return stm;
    }

 

在测试的过程中,还存在另一种方法

    public Statement getStmed(){
     try{
         con=getCon();
       stm=con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
     }catch(Exception e){e.printStackTrace(System.err);}
     return stm;
    }

 

本人的测试情况是,前一种方法对SQL Server2005及 SQL Server2000可用,后一种只对SQL Server2000可用。具体原因暂时还没弄清楚。

 

 

对获取结果集有如下理解:

createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);

createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
不带参数使用默认值:

createStatement(ResultSet.TYPE_FORWARD_ONLY,ResultSet.CONCUR_READ_ONLY)


1.TYPE_FORWORD_ONLY,只可向前滚动;      
      

2.TYPE_SCROLL_INSENSITIVE,双向滚动,但不及时更新,就是如果数据库里的数据修改过,并不在ResultSet中反应出来。      
       
3.TYPE_SCROLL_SENSITIVE,双向滚动,并及时跟踪数据库的更新,以便更改ResultSet中的数据。详看API

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics