当我运行这段代码时,代码显示错误。请帮我解决这个问题。下面是我的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
将代码改为
ResultSet rs1 = cn.executeQuery(data);
int banyakData;
while (rs1.next()){
banyakData= rs1.getInt(1);
}
和删除
int banyakData=Integer.parseInt(rs1.getString(1));
使用您的方法,您已经遍历了结果集,并且在while循环完成后,您再次从结果集获取给您错误。
和也简单地做rs.getString(sqi);
和rs1.getString(1);
在一个while循环没有任何意义,如果你不把结果放在任何变量btw sqi
不是一个有效的参数。