ResultSet rs=initConnection.conn.createStatement(1004,1007).executeQuery(sql);
和ResultSet rs=initConnection.conn.createStatement().executeQuery(sql);有什么区别啊?

解决方案 »

  1.   

    createStatement的参数通用格式为:Statement stmt=con.createStatement(int type,int concurrency);我们在访问数据库的时候,在读取返回结果的时候,可能要前后移动指针,比如我们先计算有多少条信息,这是我们就需要把指针移到最后来计算,然后再把指针移到最前面,逐条读取,有时我们只需要逐条读取就可以了。还有就是有只我们只需要读取数据,为了不破坏数据,我们可采用只读模式,有时我们需要望数据库里添加记录,这是我们就要采用可更新数据库的模式。下面我们就对其参数进行说明: 1.TYPE_FORWORD_ONLY,只可向前滚动; 2.TYPE_SCROLL_INSENSITIVE,双向滚动,但不及时更新,就是如果数据库里的数据修改过,并不在ResultSet中反应出来. 3.TYPE_SCROLL_SENSITIVE,双向滚动,并及时跟踪数据库的更新,以便更改ResultSet中的数据. 4.ResultSet.CONCUR_READ_ONLY:这是缺省值,指定不可以更新 ResultSet. 5.ResultSet.CONCUR_UPDATABLE:指定可以更新 ResultSet. 
      

  2.   

    1.TYPE_FORWORD_ONLY,只可向前滚动;
    2.TYPE_SCROLL_INSENSITIVE,双向滚动,但不及时更新,就是如果数据库里的数据修改过,并不在ResultSet中反应出来。
    3.TYPE_SCROLL_SENSITIVE,双向滚动,并及时跟踪数据库的更新,以便更改ResultSet中的数据。
    TYPE_SCROLL_INSENSITIVE = 1004;
    CONCUR_READ_ONLY = 1007;