代码如下:
stmt = conn.createStatement();
sql2 = " select sldate,pfdate from biz_sys_comp where compid=2733";
ResultSet rs = stmt.executeQuery(sql);
while(rs.next()){
SLDATE = Util.filter(rs.getString("sldate"));
PFDATE = Util.filter(rs.getString("pfdate"));
compManager.setSLDATE(SLDATE);
compManager.setPFDATE(PFDATE);
vResult.add(compManager);
}
代码没有全部贴上来,只把关键的贴上了,
执行的时候,到ResultSet rs = stmt.executeQuery(sql);时,查看rs.next() = true
而执行到while(rs.next()){时,查看rs.next() = false,而这个sql语句有且只有一条记录
不知道为什么会出现这种情况?
stmt = conn.createStatement();
sql2 = " select sldate,pfdate from biz_sys_comp where compid=2733";
ResultSet rs = stmt.executeQuery(sql);
while(rs.next()){
SLDATE = Util.filter(rs.getString("sldate"));
PFDATE = Util.filter(rs.getString("pfdate"));
compManager.setSLDATE(SLDATE);
compManager.setPFDATE(PFDATE);
vResult.add(compManager);
}
代码没有全部贴上来,只把关键的贴上了,
执行的时候,到ResultSet rs = stmt.executeQuery(sql);时,查看rs.next() = true
而执行到while(rs.next()){时,查看rs.next() = false,而这个sql语句有且只有一条记录
不知道为什么会出现这种情况?
而执行到while(rs.next()){时,查看rs.next() = false,说说你怎么查看的
ResultSet rs = stmt.executeQuery(sql);
// 此时指针:beforeFirst
boolean canNext = rs.next();
// 调用next(),指针向下移动。
// 此时指针:first
System.out.println("canNext = " + canNext);// 以下每调用一次,则指针向下移动一次
while(rs.next()){
...
}// 循环结束后,指针:afterLast
直接打印结果看看,先不要用你的Util类while(rs.next()){
System.out.println(rs.getString("sldate"));
System.out.println(rs.getString("pfdate"));}
ResultSet rs = stmt.executeQuery(sql);你执行的是SQL是sql,而不是sql2,那么sql所指代的那条SQL在哪里??
是不是要把变量sql换成sql2 ???