java.sql.SQLException: 对只转发结果集的无效操作: last

出错代码如下:
static String u = "user";
static String p = "psw";
static String url = "jdbc:oracle:thin:@localhost:1521:db_name";
con = DriverManager.getConnection(url, u, p);
statement = con.createStatement();
String query1="select * from dm_mpg_test‘";
ResultSet re1=statement.executeQuery(query1);
//get the number of the records
re1.last();
System.out.println("ResultSet size:"+re1.getRow());

报错java.sql.SQLException: 对只转发结果集的无效操作: last
需将statement定义成
statement = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE);
允许结果集可移动。

时间: 2024-11-06 23:46:14

java.sql.SQLException: 对只转发结果集的无效操作: last的相关文章

对只转发结果集的无效操作 first

今天只用jdbc连接Oracle查询结果时,出现了一个: 对只转发结果集的无效操作 first 的错误java.sql.sqlexception. 出现这个结果的原因是:使用 Statement ste = this.con.createStatement();这种方式获得的 tatement 只使用默认方式的 ResultSet.它只能通过 next()方法来进行遍历.如果使用 first()或者 last()方法就会出错. 解决的方法很简单:如下PreparedStatement stmt=

对只转发结果集的无效操作:last

调用时候发生这样一个错误: SQLException: 原因是按照缺省方式打开的ResultSet不支持结果集cursor的回滚 如果想要完成上述操作,要在生成Statement对象时加入如下两个参数: ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_UPDATABLE stmt = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_UPDATA

解决java.sql.SQLException: Parameter number X is not an OUT parameter--转

最近独自一个人写项目,孤军奋战的程序猿可真伤不起! Java 调用MYSQL带输入输出参数存储过程时如题错误:java.sql.SQLException: Parameter number X is not an OUT parameter(X 表示某个数字) 按照惯例,立刻在谷歌搜以上错误,得到的答案都是在如网址1 网址2 所说删掉输出参数后边的注释啊什么的. 可是我试了还是不行,远程问同行问QQ群无一解决办法.坑爹的一天就那么给浪费过去了. 今天决定重新写一个测试专用的遍存储过程,重新调用.

mybatis oracle java.sql.SQLException: 流已被关闭问题

/** * 按照页码取值(从current_page页开始,每页page_size条) * @param key * @param params * @param current_page * @param page_size * @return */ public <T> Pagination getPaginationByPage(String key, Object params,int current_page,int page_size) { int count = (Integer

mysql: java.sql.SQLException: Incorrect string value: &#39;\xF0\x9F\x92\x90&lt;/...&#39;

插入数据出现问题,因为包含了特殊字符. 现象: 插入的数据中如果含有某些特殊字符,会导致插入数据失败,例如字符串”测试**插入数据...“,在console中insert是正常的,但是使用java代码insert的时候报错. 原因: mysql utf-8编码最多只支持三个字节,而有的unicode字符转成utf8编码之后有4个字节,所以插入失败. 解决方案: 修改Content字段为MEDIUMBLOB(原来是varchar),并且把SELECT语句修改成 SELECT CAST(Conten

java.sql.SQLException: 关闭的连接 解决办法

程序如果长时间不进行数据库操作,那么数据源中的 Connection 很可能已经断开.其原因有可能是防火墙,或者连接的数据库设置的超时时间.这里使用的是 C3P0 连接 oracle 数据库,引起的异常信息为: org.springframework.transaction.TransactionSystemException: Could not roll back Hibernate transaction; nested exception is org.hibernate.Transac

表情存储异常--mybatis抛出异常(java.sql.SQLException: Incorrect string value: &#39;\xF0\x9F\x92\x94&#39; for column &#39;name&#39; at row 1)

文章参考 https://blog.csdn.net/junsure2012/article/details/42171035 https://www.cnblogs.com/WangYunShuaiBaoLe/p/9055215.html https://www.jb51.net/article/112879.htm 背景 iOS端测试时发现,在备注一栏输出emoji表情,保存时出现系统异常 java项目架构 spring-boot+mybatis+德鲁伊连接池 现象 抛出  java.sql

java中mysql查询报错java.sql.SQLException: Before start of result set

异常:java.sql.SQLException: Before start of result set 解决方法:使用rs.getString();前一定要加上rs.next(); sm = conn.createStatement(); ResultSet rs = null; String sql_max = "SELECT id FROM a WHERE name= '" + name + "' ORDER BY online_time DESC LIMIT 1&qu

hibernate 出现Caused by: java.sql.SQLException: Column &#39;id&#39; not found.异常

用hibernate进行映射查询时,出现Caused by: java.sql.SQLException: Column 'id' not found 异常,检查数据库表及映射都有id且已经正确映射,google后发现原因为: Your query doesn't return a field named id即查询sql中没有查询出主键id列,但返回结果集中用到,故出现异常特此记录. 详细解答见下: http://stackoverflow.com/questions/34164411/cau