当我运行此代码时,代码显示错误。请帮我解决这个问题。 这是我的Java代码:
public void kirim(){
try{
koneksi();
String data ="select count(Number) from pbk";
ResultSet rs1 = cn.executeQuery(data);
while (rs1.next()){
rs1.getString(1);
}
int banyakData=Integer.parseInt(rs1.getString(1));
for (int i=0; i<=banyakData ;i++){
String sqi = "select Number from pbk";
ResultSet rs = cn.executeQuery(sqi);
while(rs.next()){
rs.getString(sqi);
}
String sql="insert into outbox (DestinationNumber, TextDecoded, CreatorID) values ("
+ "'"+sqi +"',"
+ "'" + jTextArea1.getText()+ "',"
+ "'1'"
+ ")";
cn.executeUpdate(sql);
} JOptionPane.showMessageDialog(null, "Pesan terkirim");
}catch (Exception e){
JOptionPane.showMessageDialog(null, "Pesan gagal terkirim");
System.out.println(e.getMessage());
}
}
这是堆栈跟踪输出:
After end of result set
答案 0 :(得分:0)
将您的代码更改为
ResultSet rs1 = cn.executeQuery(data);
int banyakData;
while (rs1.next()){
banyakData= rs1.getInt(1);
}
并删除
int banyakData=Integer.parseInt(rs1.getString(1));
随着你的方法,你已经遍历了结果集,并且在while循环的completition之后,你再次从resultset中获取错误。
如果你把结果放在任何变量btw rs.getString(sqi);
不是一个有效的参数,那么简单地在while循环中执行rs1.getString(1);
和sqi
没有任何意义。