62,620
社区成员
发帖
与我相关
我的任务
分享
List list = null;
try {
if (con == null || !con.isClosed()) {
con = getConnection();
}
stmt = con.createStatement();
rs = stmt.executeQuery(sql);
if (rs != null) {
list = new ArrayList();
while (rs.next()) {
ArrayList temp = new ArrayList();
for (int i = 1; i <= rs.getMetaData().getColumnCount(); i++) {
temp.add(rs.getObject(i));
}
list.add(temp);
}
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
closed(); //关闭连接,释放资源
return list;
}
sql是个登录的sql语句。断点调试时,执行到while(rs.next())时值为true,继续执行却不进入循环而再次执行while(rs.next())值为false直接跳出循环。后面就抛异常java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
if (rs != null) {
list = new ArrayList();
int count = rs.getMetaData().getColumnCount();
while (rs.next()) {
ArrayList temp = new ArrayList();
for (int i = 1; i <= count; i++) {
temp.add(rs.getObject(i));
}
list.add(temp);
}
}
List list = null;
try {
if (con == null || !con.isClosed()) {
con = getConnection();
}
stmt = con.createStatement();
rs = stmt.executeQuery(sql);
if (rs != null) {
list = new ArrayList();
while (rs.next()) {
ArrayList temp = new ArrayList();
System.out.println((String)rs.getObject(1));
System.out.println((String)rs.getObject(2));
System.out.println((String)rs.getObject(3));
System.out.println((Boolean)rs.getObject(4));
System.out.println((Integer)rs.getObject(5));
System.out.println((String)rs.getObject(6));
System.out.println((String)rs.getObject(7));
System.out.println(rs.getObject(8));
System.out.println((Integer)rs.getObject(9));
for (int i = 1; i <= rs.getMetaData().getColumnCount(); i++) {
temp.add(rs.getObject(i));
}
list.add(temp);
}
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
System.out.println(e.getMessage().toString());
return null;
} finally {
closed();