日期:2014-05-18  浏览次数:20676 次

数据库的问题
Statement   stmt=con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
和Statement   stmt   =   con.createStatement();
区别在哪啊

------解决方案--------------------
Statement stmt=con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
和Statement stmt = con.createStatement();

这样好像没有区别.默认的情况下rs不能往回读的啊,你需要指定参数,再能决定是否可以往回,你没有JDK帮助文档吗?去查查啊.
如果默认情况下
结果集ResutlSet的previous() 方法不可用.


createStatement
Statement createStatement(int resultSetType,
int resultSetConcurrency)
throws SQLException创建一个 Statement 对象,该对象将生成具有给定类型和并发性的 ResultSet 对象。此方法与上述 createStatement 方法相同,但它允许重写默认结果集类型和并发性。

参数:
resultSetType - 结果集类型,它是 ResultSet.TYPE_FORWARD_ONLY、ResultSet.TYPE_SCROLL_INSENSITIVE 或 ResultSet.TYPE_SCROLL_SENSITIVE 之一
resultSetConcurrency - 并发类型;它是 ResultSet.CONCUR_READ_ONLY 或 ResultSet.CONCUR_UPDATABLE 之一
返回:
一个新的 Statement 对象,该对象将生成具有给定类型和并发性的 ResultSet 对象
抛出:
SQLException - 如果发生数据库访问错误,或者给定参数不是指示类型和并发性的 ResultSet 常量
从以下版本开始:
1.2

createStatement
Statement createStatement()
throws SQLException创建一个 Statement 对象来将 SQL 语句发送到数据库。没有参数的 SQL 语句通常使用 Statement 对象执行。如果多次执行相同的 SQL 语句,使用 PreparedStatement 对象可能更有效。
使用返回的 Statement 对象创建的结果集在默认情况下类型为 TYPE_FORWARD_ONLY,并带有 CONCUR_READ_ONLY 并发级别。


返回:
一个新的默认 Statement 对象
抛出:
SQLException - 如果发生数据库访问错误