说明:Statement stmt = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
通用格式为:Statement stmt=con.createStatement(int type,int concurrency);我们在访问数据库的时候,在读取返回结果的时候,可能要前后移动指针,比如我们先计算有多少条信息,这是我们就需要把指针移到最后来计算,然后再把指针移到最前面,逐条读取,有时我们只需要逐条读取就可以了。还有就是有只我们只需要读取数据,为了不破坏数据,我们可采用只读模式,有时我们需要望数据库里添加记录,这是我们就要采用可更新数据库的模式。下面我们就对其参数进行说明:
参数 int type
ResultSet.TYPE_FORWORD_ONLY 结果集的游标只能向下滚动。
ResultSet.TYPE_SCROLL_INSENSITIVE 结果集的游标可以上下移动,当数据库变化时,当前结果集不变。
ResultSet.TYPE_SCROLL_SENSITIVE 返回可滚动的结果集,当数据库变化时,当前结果集同步改变。
参数 int concurrency
ResultSet.CONCUR_READ_ONLY 不能用结果集更新数据库中的表。
ResultSet.CONCUR_UPDATETABLE 能用结果集更新数据库中的表。
查询语句
ResultSet re=stmt.executeUpdate(SQL语句);用来更新数据库信息或插入数据
ResultSet re=stmt.executeQuery(SQL语句);用来查询数据库信息
当我们使用ResultSet re=stmt.executeQuery(SQL语句)查询后,我们可以使用下列方法获得信息:
public boolean previous() 将游标向上移动,该方法返回boolean型数据,当移到结果集第一行之前时,返回false。
public void beforeFirst 将游标移动到结果集的初始位置,即在第一行之前。
public void afterLast() 将游标移到结果集最后一行之后。
public void first() 将游标移到结果集的第一行。
public void last() 将游标移到结果集的最后一行。
public boolean isAfterLast() 判断游标是否在最后一行之后。
public boolean isBeforeFirst() 判断游标是否在第一行之前。
public boolean ifFirst() 判断游标是否指向结果集的第一行。
public boolean isLast() 判断游标是否指向结果集的最后一行。
public int getRow() 得到当前游标所指向行的行号,行号从1开始,如果结果集没有行,返回0。
public boolean absolute(int row) 将游标移到参数row指定的行号。如果row取负值,就是倒数的行数,absolute(-1)表示移到最后一行,absolute(-2)表示移到倒数第2行。当移动到第一行前面或最后一行的后面时,该方法返回false
说明:Statement stmt = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
通用格式为:Statement stmt=con.createStatement(int type,int concurrency);我们在访问数据库的时候,在读取返回结果的时候,可能要前后移动指针,比如我们先计算有多少条信息,这是我们就需要把指针移到最后来计算,然后再把指针移到最前面,逐条读取,有时我们只需要逐条读取就可以了。还有就是有只我们只需要读取数据,为了不破坏数据,我们可采用只读模式,有时我们需要望数据库里添加记录,这是我们就要采用可更新数据库的模式。下面我们就对其参数进行说明:
参数 int type
ResultSet.TYPE_FORWORD_ONLY 结果集的游标只能向下滚动。
ResultSet.TYPE_SCROLL_INSENSITIVE 结果集的游标可以上下移动,当数据库变化时,当前结果集不变。
ResultSet.TYPE_SCROLL_SENSITIVE 返回可滚动的结果集,当数据库变化时,当前结果集同步改变。
参数 int concurrency
ResultSet.CONCUR_READ_ONLY 不能用结果集更新数据库中的表。
ResultSet.CONCUR_UPDATETABLE 能用结果集更新数据库中的表。
查询语句
ResultSet re=stmt.executeUpdate(SQL语句);用来更新数据库信息或插入数据
ResultSet re=stmt.executeQuery(SQL语句);用来查询数据库信息
当我们使用ResultSet re=stmt.executeQuery(SQL语句)查询后,我们可以使用下列方法获得信息:
public boolean previous() 将游标向上移动,该方法返回boolean型数据,当移到结果集第一行之前时,返回false。
public void beforeFirst 将游标移动到结果集的初始位置,即在第一行之前。
public void afterLast() 将游标移到结果集最后一行之后。
public void first() 将游标移到结果集的第一行。
public void last() 将游标移到结果集的最后一行。
public boolean isAfterLast() 判断游标是否在最后一行之后。
public boolean isBeforeFirst() 判断游标是否在第一行之前。
public boolean ifFirst() 判断游标是否指向结果集的第一行。
public boolean isLast() 判断游标是否指向结果集的最后一行。
public int getRow() 得到当前游标所指向行的行号,行号从1开始,如果结果集没有行,返回0。
public boolean absolute(int row) 将游标移到参数row指定的行号。如果row取负值,就是倒数的行数,absolute(-1)表示移到最后一行,absolute(-2)表示移到倒数第2行。当移动到第一行前面或最后一行的后面时,该方法返回false
分享到:
相关推荐
其中,resultSetType指定ResultSet的类型,可以是ResultSet.TYPE_FORWARD_ONLY、ResultSet.TYPE_SCROLL_INSENSITIVE或ResultSet.TYPE_SCROLL_SENSITIVE之一。resultSetConcurrency指定ResultSet的并发类型,可以是...
1. **JDBC驱动的分类**:JDBC驱动主要有四种类型,分别为Type 1、Type 2、Type 3和Type 4。SQL Server JDBC驱动属于Type 4,是纯Java实现的,无需依赖于数据库供应商提供的本地库,具有高性能、高可靠性和跨平台的...
- **resultSetType**:定义ResultSet的类型,可以是`ResultSet.TYPE_FORWARD_ONLY`、`ResultSet.TYPE_SCROLL_INSENSITIVE`或`ResultSet.TYPE_SCROLL_SENSITIVE`。 - **resultSetConcurrency**:定义ResultSet的并发...
6. 处理结果集,关闭资源(连接、Statement和ResultSet)。 `com.mysql.jdbc_5.1.5.jar`包含以下关键类和接口: - `com.mysql.jdbc.Driver`:实现了JDBC Driver接口,是连接MySQL数据库的核心。 - `...
对于大结果集,通常使用`ResultSet.TYPE_SCROLL_SENSITIVE`或`ResultSet.TYPE_SCROLL_INSENSITIVE`来创建可滚动的结果集,前者对数据库的修改敏感,后者不敏感。 5. **分页和数据流**:在处理大量数据时,数据滚动...
一次只从数据库中查询最大maxCount条记录 ... PreparedStatement pstat = conn.prepareStatement(sql,ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY); //最大查询到第几条记录.........
java语句如下private String url = "jdbc:odbc...stmt = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE);} catch (Exception e) {System.err.print("Error" + e.getMessage());}
- 创建可更新结果集时,需要指定并发性类型,如 `ResultSet.CONCUR_UPDATABLE`,并配合 `ResultSet.TYPE_SCROLL_INSENSITIVE` 或 `ResultSet.TYPE_SCROLL_SENSITIVE` 使用。 - 更新结果集中的数据通常涉及 `update...
stmt=conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY); rs=stmt.executeQuery(sql); } catch(SQLException e) { e.printStackTrace(); } return rs; } /...
stmt=conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY); rs=stmt.executeQuery(sql); } catch(SQLException e) { e.printStackTrace(); } return rs; } /...
3. **结果集类型和并发性**:设置`ResultSet`的类型和并发性,如`ResultSet.TYPE_FORWARD_ONLY`和`ResultSet.CONCUR_READ_ONLY`,以优化性能。 4. **关闭资源**:操作完毕后,记得关闭`ResultSet`, `Statement`和`...
ResultSet.TYPE_SCROLL_INSENSITIVE允许上下移动,但对数据库变化不敏感;ResultSet.TYPE_SCROLL_SENSITIVE则在移动时会反映数据库的最新状态。resultSetConcurrency的ResultSet.CONCUR_READ_ONLY意味着结果集是只读...
Statement stmt = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE); // 执行SQL查询 String sql = "select * from test"; ResultSet rs = stmt.executeQuery(sql); ``` 在这...
JDBC驱动主要有四种类型:Type 1、Type 2、Type 3和Type 4。"sqljdbc_7.4.1.0_chs"属于Type 4,即纯Java实现的驱动,无需中间件即可直接与数据库进行通信,提高了性能和可移植性。 安装和使用该驱动包,首先需要...
- **示例**:`Statement stmt = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY, ResultSet.HOLD_CURSORS_OVER_COMMIT);` #### 四、PreparedStatement类详解 `...
Statement stmt = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE); String sql = "select * from TestTable"; ResultSet rs = stmt.executeQuery(sql); while (rs.next())...
其中,`ResultSet.TYPE_SCROLL_SENSITIVE` 表示结果集可滚动且对数据表的更改敏感,`ResultSet.CONCUR_UPDATABLE` 表示结果集支持更新操作。 4. **备选方案** 除了使用 JTDs 驱动之外,文档中还给出了另外两种...
这里,`ResultSet.TYPE_SCROLL_INSENSITIVE`表示结果集对数据库中的变化不敏感,而`ResultSet.CONCUR_READ_ONLY`表示结果集是只读的。如果需要更新结果集,可以使用`ResultSet.CONCUR_UPDATABLE`。 接下来,执行SQL...