[英]SQLException - invalid cursor state
我在java编写一个简单的CRUD应用程序,我有一个方法来选择与账单一起使用的产品。
这是我的代码:
public Rechnung selectProdukte(int target){
int tempProdukt;
int tempAnzahl;
try {
PreparedStatement ps1=hsqlmanager.getConnection().prepareStatement("SELECT produkt, anzahl from gekauftes_produkt " +
"WHERE rechnung= " + target + ";");
//ps1.setInt(1, target);
//Query 1wird executiert
PreparedStatement ps2 = hsqlmanager.getConnection().prepareStatement("SELECT * FROM rechnung WHERE id= " + target + ";");
//ps2.setInt(1, target);
ResultSet rs1 = ps1.executeQuery();
ResultSet rs2 = ps2.executeQuery();
Rechnung erg=new Rechnung();
erg.setId(rs2.getInt(1));
erg.setDatum(rs2.getDate(2));
erg.setSumme(rs2.getDouble(3));
while(rs1.next()){
tempProdukt=rs1.getInt(1);
tempAnzahl=rs1.getInt(2);
erg.addGekauftTupel(tempProdukt, tempAnzahl);
}
ps1.close();
ps2.close();
return erg;
} catch(Exception e) {
log.error("Fehler in DAO Rechnung - selectProdukte: " + e);
}
return null;
}
当我按下按钮执行代码时,我得到:
java.sql.SQLException:游标状态无效:标识符游标未定位在UPDATE,DELETE,SET或GET语句中的行上:; ResultSet位于第一行之前
我检查了数据库,并且存在所有表和实体。 所以我的问题是:
这意味着什么?
我感谢你的回答!!!
PS。:我正在使用hsql db!
你没有在访问erg.setId(rs2.getInt(1));
之前调用rs2.next()
erg.setId(rs2.getInt(1));
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.