用尽的结果集[重复]
Posted
技术标签:
【中文标题】用尽的结果集[重复]【英文标题】:Exhausted ResultSet [duplicate] 【发布时间】:2014-06-09 20:58:41 【问题描述】:我一直在寻找这个解决方案,但我找不到我想要的答案... 我有多个要保存到变量的 ResultSet。它显示“Exhausted ResultSet”错误。下面是我的代码。
String ime1="select ime from UPORABNIKI_PODATKI where UPORABNIKI_PODATKI.username='"+user1+"'";
Statement st1=conn.createStatement();
ResultSet rs1=st1.executeQuery(ime1);
rs1.next();
String ime11=rs1.getString("ime");
String priimek2="select priimek from UPORABNIKI_PODATKI where UPORABNIKI_PODATKI.username='"+user1+"'";
Statement st2=conn.createStatement();
ResultSet rs2=st2.executeQuery(priimek2);
rs2.next();
String priimek22=rs2.getString("priimek");
String starost3="select starost from UPORABNIKI_PODATKI where UPORABNIKI_PODATKI.username='"+user1+"'";
Statement st3=conn.createStatement();
ResultSet rs3=st3.executeQuery(starost3);
rs3.next();
String starost33=rs3.getString("starost");
String high4="select max(REZULTATI.rezultat) as high from REZULTATI where REZULTATI.username='"+user1+"'";
Statement st4=conn.createStatement();
ResultSet rs4=st4.executeQuery(high4);
rs4.next();
String high44=rs4.getString("high");
String povprecje5="select UPORABNIKI_PODATKI.povprecje from UPORABNIKI_PODATKI where UPORABNIKI_PODATKI.username='"+user1+"'";
Statement st5=conn.createStatement();
ResultSet rs5=st5.executeQuery(povprecje5);
rs5.next();
String povprecje55=rs5.getString("povprecje");
如果有人花一点时间来解决这个问题,我将不胜感激。 谢谢! :)
【问题讨论】:
【参考方案1】:你没有检查 next 的返回值。如果您没有得到任何行,则将出现Exhausted ResultSet
。
你应该这样做:
if (rs1.next())
String ime11=rs1.getString("ime");
【讨论】:
关于为什么 OP 得到 Exhausted Resultsset 异常,你说对了一半。以上是关于用尽的结果集[重复]的主要内容,如果未能解决你的问题,请参考以下文章
结果集:做 ... 而 (...);与 while(...) ... [重复]