java中的循环错误

时间:2015-06-03 06:21:27

标签: java mysql loops netbeans

当我运行此代码时,代码显示错误。请帮我解决这个问题。 这是我的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

1 个答案:

答案 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没有任何意义。