程序中出现rs结果集,竟然当i=2时 没有进入while(rs.next)--- public void init() throws SQLException
{
try
{
//获得geneArray[i]
String sql="select distinct unitID from schedule order by unitID";
CachedRowSet rs=DbUtils.getResultSetByUrl(sql);
size=rs.size(); //Gene类的对象数组用于存放基因信息
geneArray=new Gene[size];
int i=0;
for(i=0;i<size;i++)
geneArray[i]=new Gene(size);
i=0;
while(rs.next())
{
geneArray[i] = new Gene(rs.getInt("unitID"));
i++;
}
rs.close();
}finally{

}
}

public void init1(){
Connection conn = DbUtils.getCon();
Statement st= null;
ResultSet rs = null;
try{
int i =0;
for( i = 0;i<size;i++){
// ResultSet rs1=DbUtils.getResultSet(sql1+geneArray[i].getUnitID());
int id =geneArray[i].getUnitID();
// System.out.println("id================="+id);
String sql="select S.unitID ,S.classID,S.courseID,S.teacherID,C.hours,mc.students from schedule  S,course  C,myclass mc " +
"where S.courseID=C.id and S.classID=mc.id and S.unitID= "+id;
  st = conn.createStatement();
 rs =st.executeQuery(sql);
System.out.println("区别======"+geneArray[i].getUnitID());//这里做比较
while(rs.next())
{
System.out.println("i==========="+i);           //同上比较
geneArray[i].setClassID(rs.getString("classID"));
geneArray[i].setCourseID(rs.getInt("courseID"));
geneArray[i].setTeacherID(rs.getInt("teacherID"));
geneArray[i].setHours(rs.getInt("hours"));
geneArray[i].setStudentNumber(rs.getInt("students"));
geneArray[i].setScheduled(false);
}
rs.close();
}打印的结果部分如下:
区别======1
i===========0
区别======2
i===========1
区别======3
区别======4
i===========3
区别======5
i===========4
......为什么有个结果当i=2的时候没有进入循环体?实在是很纳闷,求给力,求解答!先谢了!!!